解讀opencv中cv2.imread()返回值為None問題及解決
opencv中cv2.imread()返回值為None
windows10 + anaconda3 + python3.6 + opencv3.4
圖片讀入
import cv2 img = cv2.imread("liushishi.jpg") print(img) # 返回值為None,按道理說,應該返回矩陣
第一步,百度
百度說是路徑問題,嘗試了相對路徑和絕對路徑,卒。
第二步,百度
百度說是路徑中含有中文,我就寫相對路徑,根本沒有中文啊
第三步,百度
百度說是圖片不完全是.jpg格式,可能只是后綴是.jpg。要用到PIL中的Image.open("filepath").convert("RGB")。依舊卒.
第四步,自閉
自閉了一會兒,發(fā)現我全局路徑中有中文啊,雖然相對路徑沒有中文,試了一下,成功了。
cv2.imread 返回值為None的一種大坑可能
用python版OpenCV這么久,基本上什么坑都踩過。
這次讀取tif文件的時候,RGBA的圖像可以正常讀取,二值圖死活讀取返回值為None,路徑并無中文,給絕對路徑也讀不出來。
最后發(fā)現是版本問題,不知道cv2的imread函數內部有什么bug,用pip install --upgrade opencv-python從3.4更新到4.2就好了
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 實現將字典dict、列表list中的中文正常顯示方法
今天小編就為大家分享一篇python 實現將字典dict、列表list中的中文正常顯示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07