講講opencv讀取圖片的一些細(xì)節(jié)以及注意事項(xiàng)
來源:投稿 作者:蓬蓬奇
編輯:學(xué)姐
深度學(xué)習(xí)數(shù)據(jù)預(yù)處理中常用opencv讀入圖片,一般在__getitem__函數(shù)中調(diào)用。本文主要介紹opencv讀取圖片的一些細(xì)節(jié)以及注意事項(xiàng)。本文中使用的圖片見第6節(jié)“opencv測試使用的圖片”。
1.如何通過opencv顯示圖片?
通過Jupyter Notebook運(yùn)行OpenCV,運(yùn)行CV2.imshow()時(shí)報(bào)錯(cuò)。
報(bào)錯(cuò):
解決方法:先卸載opencv,再重新安裝。(未解決,可直接轉(zhuǎn)下述方法)
參考鏈接:https://blog.csdn.net/tudou2013goodluck/article/details/108402055
報(bào)錯(cuò):內(nèi)核崩潰。
解決方法:opencv讀取圖片,之后使用matplotlib庫顯示圖片。
下述兩個(gè)代碼均可以:
參考鏈接:https://github.com/jupyter/notebook/issues/3935
2.opencv讀入圖片默認(rèn)為BGR

第一幅圖為原始圖片,第二幅圖為BGR圖片,第三幅圖為RGB圖片。
3.opencv讀入圖片默認(rèn)為HWC
可以將HWC轉(zhuǎn)變?yōu)镃HW:
4.opencv讀入圖片默認(rèn)為nd.array形式
CV2.imread()讀取圖片后以多維數(shù)組的形式保存圖片信息。
可以轉(zhuǎn)變?yōu)閠orch.tensor,.float()表示轉(zhuǎn)變?yōu)閠orch.float32
5.CV2.imread()
CV2.imread()有兩個(gè)參數(shù),第一個(gè)參數(shù)filename是圖片路徑,第二個(gè)參數(shù)flag表示圖片讀取模式,共有三種:
CV2.IMREAD_COLOR:加載彩色圖片,這個(gè)是默認(rèn)參數(shù),可以直接寫1。
CV2.IMREAD_GRAYSCALE:以灰度模式加載圖片,可以直接寫0。
CV2.IMREAD_UNCHANGED:包括alpha(包括透明度通道),可以直接寫-1。即以不改變圖片的方式打開,圖片是彩色就是彩色,圖片是灰度圖像就是灰度圖像。
通過CV2.IMREAD_COLOR讀入灰度圖,三通道數(shù)值相同。

第一幅圖為mask,第二幅圖為mask1,第三幅圖為mask2。
6.opencv測試使用的圖片
可以右鍵保存下述圖片,調(diào)試上面代碼。

關(guān)注【學(xué)姐帶你玩AI】公眾號
CV方向必讀高分論文回復(fù)“500”領(lǐng)取
CV頂會(huì)必讀論文合集回復(fù)“CVPR”領(lǐng)取