小编典典

OpenCV Python不使用imread()打开图像

python

我不完全确定为什么会这样,但是我正在编写程序,并且遇到很多问题,试图让opencv使用imread打开图像。我不断收到错误消息,指出图片的宽度为0px,高度为0px。这对我来说没有多大意义,所以我在这里四处搜寻,我也没有得到任何答案。

我已经拍摄了大约20张照片,而且它们都使用同一设备。其中可能有8个实际上可以正常打开并正常工作,其余的则不能。它们也没有损坏,因为它们是在其他程序中打开的。我已经对路径进行了三重检查,它们正在使用完整路径。

还有其他人有这样的问题吗?我所有的文件都是.jpgs,但我看不到任何问题。这是一个错误还是我做错了什么?

这是我正在使用的代码片段,正在重现错误。

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

阅读 222

收藏
2021-01-16

共1个答案

小编典典

可能您\在文字的特殊含义方面有疑问-例如\t\n

使用\\代替\

imgloc = "F:\\Kyle\\Desktop\\Coinjar\\Test images\\ten.png"

要么 r''

imgloc = r"F:\Kyle\Desktop\Coinjar\Test images\ten.png"

编辑:

一些模块甚至接受/-就像在Linux路径中一样

imgloc = "F:/Kyle/Desktop/Coinjar/Test images/ten.png"
2021-01-16