关于cv2.read返或None的解决方法
Python程序运行试遇到cv2.read(‘test.jpg’)返回None的问题 ,在Google上找了很多关于该问题的解决方法,一般主要分为四种情况:
1.图片的路径不正确,例如路径中的“\”问题(多数情况);
参考回答:https://www.pyimagesearch.com/2016/12/26/opencv-resolving-nonetype-errors/
2.图片损坏,因此opencv不能正确阅读;
3.路径或文件名中有中文字符;
参考回答:https://blog.csdn.net/scut_salmon/article/details/78878533
4.opencv库安装的问题。
参考回答:https://ziyubiti.github.io/2016/06/15/imreaderror/
但是我所遇到的情况,上述方法均不适用。
首先,图片的路径正确;
其次,该图片可以用PIL中Image.open(‘test.jpg’) 打开;
最后,opencv的库也没有什么问题。
后来,灵光一闪尝试了:
with Image.open('test.jpg') as im:
rgb_im = im.convert('RGB')
rgb_im.save('test.jpg')
cv2.read('test.jpg')
cv2.read(‘test.jpg’)可以成功运行,但我还没有仔细深究其中的原因,如果有大神知道可以留言解答一下。
这是我第一次写博客,因为这个问题在Google上并没有找到合适我的解决方法,所以想将自己的方法分享出来,给遇到相似问题的朋友一个思考方向。