OpenCV使用BGR而非RGB格式


日常開發和交流時,我們習慣將圖片的顏色通道按照RGB(red, green, blue)進行排列。閑來無聊,在把玩卷積神經網絡模型時發現OpenCV並沒有按照這個順序讀入圖片。好奇地搜索一下OpenCV為什么使用BGR而非RGB。看到這篇博文:Why does OpenCV use BGR color format

仔細閱讀這篇博文,作者在使用matplotlib顯式OpenCV讀入的圖片,發現圖片顯示很怪異。
原圖如下:

使用OpenCV讀取在matplotlib上顯示的結果

文中作者在一個大會上問了OpenCV的作者為什么使用BGR格式而不是使用RGB。
他得到的答案總結起來就是由於歷史的原因😂。文中還用了一個很搞笑的故事來說明這個事實:為什么美國的標准鐵路軌距為4英尺8.5英寸。對這個故事有興趣的可以看原博文。


那么這個歷史原因是什么:
早期開發者使用BGR作為顏色的空間的原因在於:那個時候的BGR格式在相機制造廠商和軟件提供商之間比較受歡迎。例如。在Windows中,當使用 COLORREF 指定顏色值時,使用BGR格式0x00bbggrr。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM