【问题标题】:OpenCV opening file error (Assertion failed)OpenCV 打开文件错误(断言失败)
【发布时间】: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() 的错误..
  • 而且您要打开的图像肯定不是空图像?

标签: python opencv cv2


【解决方案1】:

我解决了。这是正确的答案...

img = cv2.imread('C:\\Users\\User\\Desktop\\b_temp\\' + id_folder + '\\' + str(files[0]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 2017-10-26
    • 2016-11-27
    相关资源
    最近更新 更多