Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么cv2.imshow()会导致python编译器出错?_Python_Opencv - Fatal编程技术网

为什么cv2.imshow()会导致python编译器出错?

为什么cv2.imshow()会导致python编译器出错?,python,opencv,Python,Opencv,嗨,朋友们,我刚刚安装了opencv并检查了基本代码,但结果是错误的。代码是 import numpy as np import cv2 img=cv2.imread('C:\Users\Pravin\Desktop\a.jpeg',1) cv2.namedWindow('img',cv2.WINDOW_NORMAL) cv2.Waitkey(10000) cv2.imshow('cv2.WINDOW_NORMAL',img) cv2.destoryAllWindows() cv2.imsho

嗨,朋友们,我刚刚安装了opencv并检查了基本代码,但结果是错误的。代码是

import numpy as np
import cv2
img=cv2.imread('C:\Users\Pravin\Desktop\a.jpeg',1)
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.Waitkey(10000)
cv2.imshow('cv2.WINDOW_NORMAL',img)
cv2.destoryAllWindows()
cv2.imshow()的错误为

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
cv2.imshow(“图像”,img)
错误:..\..\..\src\opencv\modules\highgui\src\window.cpp:261:错误:(-215)
size.width>0&&size.height>0
你的回答对我很有帮助。
提前感谢

很可能,imread呼叫没有成功。确保图像“C:\Users\Pravin\Desktop\a.jpeg”存在。(扩展名.jpeg似乎不寻常,也许它必须是.jpg?)

此外,正如Hyperboreus所建议的,请尝试在文件名“C:/Users/Pravin/Desktop/a.jpg”中使用前斜杠,或转义反斜杠

"C:\\Users\\Pravin\\Desktop\\a.jpg"

错误表示您打开的图像不满足条件
height>0
width>0
。这可能有几个原因

大多数情况下,这是由于
imread
中给出的图像地址不存在造成的

有时也可能是因为编译器未能加载图像。例如,如果您在记事本中写入一些随机字符串并将文件另存为
a.jpg
,编译器可能无法加载该文件。

请尝试以下操作

import numpy as np
import cv2
img = cv2.imread('E:/Images/ece/1.png',1)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

这是因为python编译器无法在该位置找到图像。如果您复制python工作目录中的图像并执行此操作。这对我有用

#将图像保存在当前工作目录中
img=cv2.imread('roi.jpg',1)
cv2.imshow(“图像”,img)

对我来说,当我刚把jpeg改成jpg时,它就起作用了

试试这个,可能有用

import numpy as np
import cv2
img=cv2.imread('C:\Users\Pravin\Desktop\a.jpg',1)    #changed image format to jpg
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.Waitkey(10000)
cv2.imshow('cv2.WINDOW_NORMAL',img)
cv2.destoryAllWindows()

也许你想避开反斜杠。“C:\Users\Pravin\Desktop\a.jpeg”肯定不存在,但由于另一个原因。我已将其更改为a.jpg,但更改后也会出现错误,我们可以使用
文件(“the\file\path\passed\to\imread”)
验证图像路径是否存在或是否正确。这与Sergei Nosov所说的确保文件位置正确有什么不同?这是如何解决问题的?是因为你找到了正确的文件吗?如果是这样,那么它是多余的,是谢尔盖·诺索夫的复制品。是因为您的初始化逻辑稍有不同吗?那就好了。
import numpy as np
import cv2
img=cv2.imread('C:\Users\Pravin\Desktop\a.jpg',1)    #changed image format to jpg
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.Waitkey(10000)
cv2.imshow('cv2.WINDOW_NORMAL',img)
cv2.destoryAllWindows()