【问题标题】: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传递什么?
  • 图片名称(字符串)
  • 如果图像和脚本位于同一文件夹中,您可以传递名称。最好传递图片的整个路径。
  • 我做到了。但我仍然得到同样的错误
  • 请出示您通过的内容。

标签: python-3.x opencv image-processing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 2015-03-13
    • 2020-09-03
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多