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

如何確定在OpenVINO? Toolkit中預(yù)處理支持的輸入顏色格式?
使用OpenCV保存從攝像頭捕獲的視頻時(shí)更改顏色輸出視頻收到警告怎么解決?
THS8200出來(lái)的視頻圖像是YPbPr格式,但是顯示顏色不對(duì),如何處理?
如何選擇PCB顏色
【AI實(shí)戰(zhàn)項(xiàng)目】基于OpenCV的“顏色識(shí)別項(xiàng)目”完整操作過(guò)程

腳本美化高手之輕松實(shí)現(xiàn)文本顏色和背景定制的酷炫Shell技巧

基于OpenCV的拆分和合并圖像通道實(shí)驗(yàn)案例分享_基于RK3568教學(xué)實(shí)驗(yàn)箱
RK3568 + OpenCV 會(huì)碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫線實(shí)驗(yàn)
基于OPENCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--米爾NXP i.MX93開(kāi)發(fā)板

評(píng)論