良好設計的要素之一是最小驚訝原則(又稱最小意外原則)。一個好的直觀設計讓用戶不會思考。
當你看到門上的把手時,你想拉它。當你看到一扇帶有金屬板的門時,你想推它。這些是門的使用者的期望,當門的設計者尊重這些期望時,用戶可以在不施加任何精神能量的情況下使用門。但如果設計與用戶的期望不一致,那么簡單的開門動作就會成為一種心理負擔。
OpenCV 是一個非常有用的庫,但是說到最小意外原則,它就是一場不合格的災難。當我在 MATLAB 中編寫計算機視覺代碼時,我很少參考文檔。在使用 OpenCV 時,我在瀏覽器選項卡中永久打開了文檔。
OpenCV 的構建似乎考慮到了最大驚喜的原則!這一切都始于默認的 BGR 像素格式。它不適用于使用標準 RGB 像素格式的庫。例如,當您在 OpenCV 中使用imread讀取圖像后嘗試使用matplotlib顯示圖像時,結果看起來很有趣。
“當其他人及其阿姨都使用 RGB 時,為什么不使用 RGB?”
這是我在幾個月前的一次會議上遇到 OpenCV 的創始人 Gary Bradski 博士時問他的問題,盡管我忽略了關于每個人和他們的阿姨使用 RGB 的部分。他用另一個問題回答了我的問題。
“為什么美國標準的鐵路軌距是 4 英尺 8.5 英寸?”
這個問題的答案當然是“因為羅馬馬的屁股!”
對于不知道這個不太真實的故事的人,我從snopes復制了以下內容
為什么他們在 OpenCV 中選擇 BGR 顏色空間?
OpenCV 的早期開發人員之所以選擇 BGR 顏色格式,是因為當時 BGR 顏色格式在相機制造商和軟件提供商中很流行。例如在 Windows 中,當使用COLORREF指定顏色值時,它們使用 BGR 格式0x00bbggrr。
BGR 是出于歷史原因做出的選擇,現在我們必須接受它。換句話說,BGR 是 OpenCV 中的馬的屁股。^_^
審核編輯 :李倩
-
RGB
+關注
關注
4文章
801瀏覽量
58626 -
OpenCV
+關注
關注
31文章
635瀏覽量
41453
原文標題:冷知識 | 為什么OpenCV使用BGR顏色格式?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論