【发布时间】:2017-12-28 20:03:43
【问题描述】:
处理这段代码,OpenCV 给我错误:
OpenCV 错误:cv::imshow 中的断言失败 (size.width>0 && size.height>0),文件 C:\bld\opencv_1498174012660\work\opencv-3.2.0\modules\highgui\ src\window.cpp,第 304 行
Traceback(最近一次通话最后一次):
文件“C:/Users/User/Desktop/Flow/FlowP/detect-extration - temp.py”,第 34 行,在
cv2.imshow('win',img)
cv2.error: C:\bld\opencv_1498174012660\work\opencv-3.2.0\modules\highgui\src\window.cpp:304: 错误: (-215) size.width>0 && size .height>0 在函数 cv::imshow
now = datetime.now()
id_folder = now.strftime('%Y%m%d-%H%M%S-%f')
b_temp = ('C:\\Users\\User\\Desktop\\b_temp\\' + id_folder)
os.makedirs(b_temp, exist_ok=True)
src = ('C:\\Users\\User\\Desktop\\Images\\')
files = os.listdir(src)
print(files)
shutil.move(str(src + str(files[0])),b_temp)
img = cv2.imread('C:\\Users\\User\\Desktop\\b_temp\\' + id_folder + '.tif')
print(img)
cv2.imshow('win', img)
cv2.waitKey(0)
它可能是什么?所有模块都正确导入,代码似乎工作到第一个 OpenCV 指令...
编辑:据我所见,它无法识别目录中的文件...但是该文件存在,是否存在...
它看起来是这样的:
【问题讨论】:
-
img = cv2.imread('C:\\Users\\User\\Desktop\\Images\\' + '.tif')这是在做它应该做的事情吗?您没有添加文件名。 -
更新了代码... 需要从其中打开文件的文件夹是之前创建的文件夹(唯一文件夹,请参见 id_folder)。 OpenCV 需要从中读取 .tif 文件..
-
您帖子中的代码看起来仍然是错误的,但我会假设您的实际代码看起来是正确的。太糟糕了,那将是一个不错的、简单的解决方法。
-
尤其是 cv2.imshow() 的错误..
-
而且您要打开的图像肯定不是空图像?