import cv2
import numpy as np
#load color of an image in grayscale
img1 = cv2.imread('Tarun.jpg',0)
cv2.imshow('Hey its me Tarun yellogi',img1)
error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:331: error: (-215) size.width>0 && size.height>0 in function cv::imshow
答案 0 :(得分:1)
os
模块使路径可在任何其他计算机上工作,而不是硬编码绝对路径imshow()
不能正确显示图像None
:print(img1.shape)
和print(img1)
cv2.imread()
返回None
答案 1 :(得分:0)
img1 = cv2.imread('Tarun.jpg',0)
如您所知,imread
读取指定的图像。如此处所示,仅使用文件名,python尝试从当前工作目录中读取图像。如果该文件不存在,则不会报告错误,并且img1
的值为None
。
该行:
cv2.imshow('Hey its me Tarun yellogi',img1)
返回以下错误:
error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:331: error: (-215) size.width>0 && size.height>0 in function cv::imshow
表示在imshow
命令中指定的图像(即img1
)的宽度和/或高度为0。错误消息的意思是函数{{1 }}必须具有宽度大于零的尺寸 ,高度大于零。
您可以使用imshow
检查图像尺寸。在这种情况下,您可能会收到一条错误消息img1.shape
。您可以使用AttributeError: 'NoneType' object has no attribute 'shape'
进一步检查img1
是否为None
。如果收到img1 == None
的响应,那么您将知道True
不包含图像数据。
TL; DR
因此找不到img1
文件'Tarun.jpg'。
答案 2 :(得分:0)
我认为您可以尝试循环阅读图片以防止因Nonetype错误而暂停!在我的情况下对我有帮助(在我的情况下,某些jpg文件为Nonetype)
if img is None:
continue
答案 3 :(得分:0)
如果图像不在当前目录中,则必须提及图像的绝对路径。
使用 os
模块使路径在任何其他机器上工作,而不是硬编码绝对路径。
但此错误消息意味着 imshow()
未获得要显示的正确图像。
我会检查图像的形状和值以确保图像没有损坏。