【发布时间】:2020-04-22 08:18:01
【问题描述】:
我正在尝试将图像的一部分保存在边界框内,如下所示:
digit = thresh[x:x+w,y:y+h]
cv2.imwrite(str(c)+'.png',digit)
但我收到以下错误。
error: OpenCV(4.1.2) /io/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'
需要你的帮助。
【问题讨论】:
-
这可能意味着您尝试保存空数组。首先检查您在
digit中的内容。为此使用print()。您还可以检查x,y,w,h- 也许w和/或h为零。 -
A 已经绘制了数字,它向我显示了我裁剪的数字图像,但是当尝试编写它时,它显示了问题中的错误。
-
在两行代码中,这个错误我只能说一个:
digit是空的。我不知道这两行之间是否还有更多内容,但也许您在写入之前将新的空数组分配给digit。只有你知道你所有的代码,只有你可以在imwrite之前直接使用print()来检查你在digit中的内容 -
顺便说一句:如果你运行
cv2.imwrite('img.png', np.array([])),那么你会得到同样的错误——因为数组是空的。如果您向数组添加至少一个值 - 即。np.array([1])- 然后它可以正常工作。
标签: python python-3.x image opencv image-processing