python从本地目录导入所有图像

时间:2016-10-17 12:27:49

标签: python opencv python-import

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

1 个答案:

答案 0 :(得分:1)

这通常是无法找到图像的症状。

请注意filename返回的os.listdir()相对于传递给listdir()的目录。因此,OpenCV正在您当前的工作目录中搜索名为“image_01.jpg”的文件,但找不到任何内容。但它没有失败,而是返回一个空图像。

尝试path_to_image = os.path.join(my_image_folder, filename)并将其简化。