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