OpenCV 无法 read/write 一张 jpg 图像
OpenCV not able to read/write a jpg image
我得到了这个非常简单的代码来遍历目录,对每个图像应用精明的边缘检测并将每个结果保存到不同的目录:
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.imwrite('canny-esult/' + 图片 + '_canny.jpg', cv2.Canny(cv2.imread('beard/' + 图片), 100, 200))
cv2.imread('bear/'+image)
中有一个简单的拼写错误。我想你想从 cv2.imread('beard/'+image)
读取文件。此外,您可能希望使用 image[:-4]
从文件名中 trim 扩展部分,以避免您的文件被命名为 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))
断言 215 声明图像大小为 0。您只是在定义图像路径时做了一个类型,这就是为什么您无法读取图像,然后您尝试调整图像大小并给出错误,因为没有图像。
只需重新检查您的图像路径,一旦正确,它应该可以工作。
我得到了这个非常简单的代码来遍历目录,对每个图像应用精明的边缘检测并将每个结果保存到不同的目录:
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.imwrite('canny-esult/' + 图片 + '_canny.jpg', cv2.Canny(cv2.imread('beard/' + 图片), 100, 200))
cv2.imread('bear/'+image)
中有一个简单的拼写错误。我想你想从 cv2.imread('beard/'+image)
读取文件。此外,您可能希望使用 image[:-4]
从文件名中 trim 扩展部分,以避免您的文件被命名为 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))
断言 215 声明图像大小为 0。您只是在定义图像路径时做了一个类型,这就是为什么您无法读取图像,然后您尝试调整图像大小并给出错误,因为没有图像。 只需重新检查您的图像路径,一旦正确,它应该可以工作。