OpenCV无法读取/写入jpg图像



我得到了这个非常简单的代码来遍历一个目录,对每个图像应用精明的边缘检测,并将每个结果保存到不同的目录:

import cv2, os
directory = os.listdir('beard/')
for image in directory:
cv2.imwrite('canny-esult/' + image + '_canny.jpg', cv2.Canny(cv2.imread('bear/' + image), 100, 200))

但这是我得到的错误:

cv2.imwrite('canny-esult/' + image + '_canny.jpg', cv2.Canny(cv2.imread('bear/' + image), 100, 200))
cv2.error: OpenCV(4.5.5) /io/opencv/modules/imgcodecs/src/loadsave.cpp:801: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'

cv2.imread('bear/'+image)中有一个简单的打字错误。我想您想从cv2.imread('beard/'+image)读取文件。此外,您可能希望使用image[:-4]从文件名中修剪扩展部分,以避免文件名类似file.jpg_canny.jpg的情况。

工作代码:

import cv2, os
directory = os.listdir('beard/')
for image in directory:
cv2.imwrite('canny-esult/' + image[:-4] + '_canny.jpg', cv2.Canny(cv2.imread('beard/' + image), 100, 200))

我发现了一些错误的

熊->胡须

cv2.imwrite('canny-esult/'+image+'_canny.jpg',cv2.canny(cv2.imread('beard/'+image(,100200(

断言215声明图像大小为0。你只需在定义图像路径时键入一个类型,这就是为什么你无法读取图像,然后你试图调整图像的大小,因为没有图像,所以会出现错误。只需重新检查您的图像路径,一旦它正确,它就会工作。

相关内容

  • 没有找到相关文章

最新更新