cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: 错误: (-215) size.widt

Posted

技术标签:

【中文标题】cv2.error: C:\\projects\\opencv-python\\opencv\\modules\\highgui\\src\\window.cpp:325: 错误: (-215) size.width>0 && size.height>0 in function cv::imshow【英文标题】:cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: error: (-215) size.width>0 && size.height>0 in function cv::imshowcv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: 错误: (-215) size.width>0 && size.height>0 in function cv::imshow 【发布时间】:2018-06-17 04:07:02 【问题描述】:

我将图像名称作为参数传递给该函数:

def main(imageName):
    image = cv2.imread(imageName)
    cv2.imshow('color_image', image)
    gray_image =  grey(image)
    cv2.imshow("gray_image", gray_image)
    cv2.waitKey(0)
    clahe_image = clahe(gray_image,0)
    cv2.imshow("clahe_image", clahe_image)
    cv2.waitKey(0)
    dst_img = denoise(clahe_image)
    cv2.imshow("dst_img", dst_img)
    cv2.waitKey(0)
    binary_img = threshld(dst_img,0)
    cv2.imshow("binary_img", binary_img)
    cv2.waitKey(0)
    skiw_img = deskew(binary_img)
    cv2.imshow("skiw_img", skiw_img)
    cv2.imwrite("skiw_img.png", skiw_img)
    cv2.waitKey(0)

然后我得到那个错误。但是当我在没有参数的情况下执行它时

def main():
    image = cv2.imread('e2nn.png')
    cv2.imshow('color_image', image)
    gray_image =  grey(image)
    cv2.imshow("gray_image", gray_image)
    cv2.waitKey(0)
    clahe_image = clahe(gray_image,0)
    cv2.imshow("clahe_image", clahe_image)
    cv2.waitKey(0)
    dst_img = denoise(clahe_image)
    cv2.imshow("dst_img", dst_img)
    cv2.waitKey(0)
    binary_img = threshld(dst_img,0)
    cv2.imshow("binary_img", binary_img)
    cv2.waitKey(0)
    skiw_img = deskew(binary_img)
    cv2.imshow("skiw_img", skiw_img)
    cv2.imwrite("skiw_img.png", skiw_img)
    cv2.waitKey(0)

我没有收到那个错误,它执行得很好。

【问题讨论】:

你在imageName传递什么? 图片名称(字符串) 如果图像和脚本位于同一文件夹中,您可以传递名称。最好传递图片的整个路径。 我做到了。但我仍然得到同样的错误 请出示您通过的内容。 【参考方案1】:

当没有图像(包含图像信息的数组)到达imshow() 函数时,会出现此错误。这是因为您的 imread() 函数没有返回所需的输出。常见的错误包括:

    图像名称不正确:检查图像名称直至格式。甚至 jpg 和 jpeg 也不一样。 不正确的路径:如果您的图像不在同一目录中,请输入图像的完整路径。由于您使用的是 Windows,请不要忘记将反斜杠更改为正向。那些使用 Ubuntu 的人应该确保他们在 home 之前放一个 '\' 例如'\home\username\Desktop' 访问问题:这对于 linux 用户来说更为普遍,但有时您可能没有对映像的读取访问权限。尝试使用chmod 777 并再次运行您的代码。请注意,建议将访问权限改回限制性更强的内容。

【讨论】:

以上是关于cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: 错误: (-215) size.widt的主要内容,如果未能解决你的问题,请参考以下文章

如何修复下面的代码我收到 cv2.error [关闭]

cv2.error (-215:Assertion failed) reader.ptr != 函数 cvDrawContours 中的 NULL

opencv cv2.imread()报错: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

cv2.error: OpenCV(4.5.5) D:aopencv-pythonopencv-pythonopencvmodulesobjdetectsrccascadedetect

cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: 错误: (-215) size.widt

成功解决cv2.error: OpenCV(4.7.0) D:aopencv-pythonopencv-pythonopencvmodulesimgcodecssrcloadsave.