解读opencv中cv2.imread()返回值为None问题及解决
短信预约 -IT技能 免费直播动态提醒
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就好了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341