【发布时间】:2014-07-03 23:54:17
【问题描述】:
我不完全确定为什么会发生这种情况,但我正在制作一个程序,我在尝试让 opencv 使用 imread 打开图像时遇到了很多问题。我不断收到错误消息,说图像是 0px 宽 x 0px 高。这对我来说没有多大意义,所以我在这里搜索,我也没有从 SO 那里得到任何答案。
我拍摄了大约 20 张照片,它们都使用相同的设备。其中可能有 8 个实际上打开并正常工作,其余的则没有。它们也没有损坏,因为它们在其他程序中打开。我对路径进行了三次检查,它们使用的是完整路径。
还有其他人有这样的问题吗?我所有的文件都是.jpgs,我没有看到任何问题。这是一个错误还是我做错了什么?
这是我正在使用的代码的 sn-p,它在我的端重现错误。
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'
当我尝试从上面的代码 sn-p 显示一个窗口时,我收到了这个错误。
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
【问题讨论】:
-
代码为我工作。尝试安装
ImageMagick并使用identify命令验证映像是否损坏。很奇怪。 -
在
imshow()中使用img之前,请务必检查img == None。如果img是None则文件有问题 - 它可能已损坏,甚至不存在。 -
或者文本中 ` \ ` 的特殊含义可能存在问题 - 例如
\t或\n
标签: python opencv image-loading