import cv2
import os
for filename in os.listdir('C:/Users/Akhil/Downloads/New'):
image = cv2.imread(filename)
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray_image.png',gray_image)
cv2.imshow('color_image',image)
cv2.imshow('gray_image',gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
我正在导入目录中的所有图像,如上所示,并将每个图像转换为灰度图像。但是当我运行此代码时,我面临以下错误:
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::ipp_cvtColor, file C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\imgproc\src\color.cpp, line 7456
Traceback (most recent call last):
File "11.py", line 7, in <module>
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.error: C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\imgproc\src\color.cpp:7456: error: (-215) scn == 3 || scn == 4 in function cv::ipp_cvtColor
答案 0 :(得分:1)
这通常是无法找到图像的症状。
请注意filename
返回的os.listdir()
相对于传递给listdir()的目录。因此,OpenCV正在您当前的工作目录中搜索名为“image_01.jpg”的文件,但找不到任何内容。但它没有失败,而是返回一个空图像。
尝试path_to_image = os.path.join(my_image_folder, filename)
并将其简化。