cv2.error:C:\ projects \ opencv-python \ opencv \ modules \ highgui \ src \ window.cpp:325:错误:(-215)size.width> 0&&函数cv :: imshow中的size.height> 0

时间:2018-06-17 04:07:03

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

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

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)

我没有得到那个错误并且执行得很好。

1 个答案:

答案 0 :(得分:1)

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

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