我不太确定为什么会出现这种情况,因为我正在制作一个程序,但是在尝试使用imread打开图像时遇到了很多问题。我一直收到错误提示,称图像宽度和高度都为0像素。这让我感到困惑,所以我在这里搜索了很多内容,并没有从SO上得到任何答案。
我拍了约20张照片,它们都使用同一设备。其中大约有8张可以正确打开和工作,其余的则不行。它们也不是损坏的,因为它们在其他程序中可以打开。我已经三次检查了路径,它们都是完整的路径。
还有其他人遇到类似的问题吗?我的所有文件都是.jpg格式,我自己也没有发现任何问题。这是一个bug还是我做错了什么?
这里是我正在使用并出现错误的代码片段:
imgloc = "F:\Kyle\Desktop\Coinjar\Test images\ten.png"
img = cv2.imread(imgloc)
cv2.imshow('img',img)
当我更改文件时,我只调整文件本身的名称,而整个路径并不会改变。它只是拒绝接受一些本质上相同的图像。
我在代码的后面部分尝试使用img.shape时遇到了这个错误。
Traceback (most recent call last):
File "F:\Kyle\Desktop\Coinjar\CoinJar Test2.py", line 14, in <module>
height, width, depth = img.shape
AttributeError: 'NoneType' object has no attribute 'shape'
当我尝试从上面的代码片段中展示一个窗口时,我遇到了这个错误。
Traceback (most recent call last):
File "F:\Kyle\Desktop\Coinjar\CoinJar Test2.py", line 11, in <module>
cv2.imshow('img',img)
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
imshow()
之前,始终检查img == None
。如果img
为None
,则文件存在问题 - 可能已损坏,甚至可能不存在。 - furas\
具有特殊含义,例如\t
或\n
。可能存在问题。 - furas