1. 程式人生 > >【已解決】Python: Opencv: error: (-215) size.width>0 && size.height>0 in function cv::imshow

【已解決】Python: Opencv: error: (-215) size.width>0 && size.height>0 in function cv::imshow

利用cv2.imread()時,
當出現這個錯誤時,請檢查以下資訊:
是否有拼寫錯誤
是否有這個圖片
是否添加了字尾名
是否是絕對路徑
是什麼系統?考慮將單斜槓改成雙斜槓,一般情況下,已經支援一個反斜槓了
如:

image_data = cv2.imread('D:\\lab\\AgriculturalDisease_trainingset\\images\\00c5c908-fc25-4710-a109-db143da23112___RS_Erly.B 7778.JPG')

在windows中如何檢查地址是否正確呢,尤其是在迴圈的時候
可以先在windows視窗直接複製出來,看看是否能夠讀取並展示圖片。
然後檢查程式的地址,將其列印輸出,比較兩者是否相同。

如果遇到中文名讀不出來的,請參考這個網站:中文路徑報錯問題
簡單來說,就是直接將cv2.imread函式重寫一下,換成另一個函式cv_imread:

def cv_imread(filePath):
    cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)
    return cv_img

# 正文引用部分如下:(img_path需要自己給出)
image_data = cv_imread(img_path)