【AI-1000问】为什么OpenCV读取的图像格式是BGR?
文章首發于微信公眾號《有三AI》
【AI-1000問】為什么OpenCV讀取的圖像格式是BGR?
為什么OpenCV存儲的圖像格式是BGR呢?
做圖像處理的我們應該都知道,OpenCV是我們必備的一個工具,我們在使用OpenCV讀取圖像時你應該也發現了讀取出來的數組居然是BGR格式,而不是我們聽的最多,用的最多的RGB格式,這是為什么呢?有同學思考過這個問題嗎?
作者/編輯?湯興旺
?
我們用OpenCV和PIL讀取下面一張圖片,對比看下結果:
OpenCV讀取圖片:
import?cv2
filename="/home/tangxingwang/01.jpeg"
img?=?cv2.imread(filename)
print(img)
PIL:讀取圖片:
import?numpy?as?np
from?PIL?import?Image
filename="/home/tangxingwang/01.jpeg"
img=Image.open(filename)
img_arr=np.array(img)
print(img_arr)
從上面我們的對比我們明顯就看出OpenCV讀取圖片的格式和PIL不一樣,OpenCV是BGR格式,PIL是RGB格式,為什么?
解答:OpenCV在1999年由Intel建立,當時主流的攝像頭制造商和軟件供應商提供的攝像頭采集的圖像的通道排列順序為BGR,另外對于圖片,位圖BMP是最簡單的,也是Windows顯示圖片的基本格式,其文件擴展名為*.BMP。在Windows下,任何格式的圖片文件(包括視頻播放)都要轉化為位圖才能顯示出來,各種格式的圖片文件也都是在位圖格式的基礎上采用不同的壓縮算法生成的,值得注意的是位圖BMP的格式就是BGR。正是基于BGR在當時被廣泛使用,于是早期OpenCV開發者就選擇BGR顏色格式,這也就成為了一種規范一直用到現在。
?
思考
今天的問題就到這里了,不知道是否解決了您心中的困惑呢?另外如果您在學習深度學習過程中遇到不懂且有趣的問題歡迎留言,說不定下一問就解答您的問題呢?
轉載文章請后臺聯系
侵權必究
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
總結
以上是生活随笔為你收集整理的【AI-1000问】为什么OpenCV读取的图像格式是BGR?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【完结】总结12大CNN主流模型架构设计
- 下一篇: 【AI-1000问】机器学习和模式识别是