亲宝软件园·资讯

展开

解读opencv中cv2.imread()返回值为None问题及解决

犹有傲霜枝 人气:0

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")。依旧卒.

第四步,自闭

自闭了一会儿,发现我全局路径中有中文啊,虽然相对路径没有中文,试了一下,成功了。

cv2.imread 返回值为None的一种大坑可能

用python版OpenCV这么久,基本上什么坑都踩过。

这次读取tif文件的时候,RGBA的图像可以正常读取,二值图死活读取返回值为None,路径并无中文,给绝对路径也读不出来。

最后发现是版本问题,不知道cv2的imread函数内部有什么bug,用pip install --upgrade opencv-python从3.4更新到4.2就好了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论