2016-10-17 7 views
0
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() 

上記のようにディレクトリからすべてのイメージをインポートし、各イメージをグレースケールイメージに変換します。しかし、このコードを実行すると、次のエラーに直面しています。pythonはローカルディレクトリからすべてのイメージをインポートします

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

この同じエラーメッセージに関するいくつかの質問があります。 [この質問](http://stackoverflow.com/questions/30506126/open-cv-error-215-scn-3-scn-4-in-function-cvtcolor)を参照してください。ここでは、grey- 'cv2.imread(filename、0)'でスケールを調整します。 – sytech

+0

globモジュールを見てください。 files = glob.glob( "./*。png")は現在のフォルダにあるあなたのPNGファイルへのパスのリストを提供します – kezzos

+0

@kezzos私はあなたに同意しますが、JPGのpngなどの異なるフォーマットが何ですか? –

答えて

1

これはよくイメージを見つけられないという症状です。

os.listdir()によって返されるfilenameは、listdir()に渡されるディレクトリからの相対パスであることに注意してください。そこで、OpenCVはあなたの現在の作業ディレクトリにある "image_01.jpg"という名前のファイルを探していて何も見つけられません。しかし失敗するのではなく、空のイメージを返します。

path_to_image = os.path.join(my_image_folder, filename)を試してみてください。

+0

よろしくお願いします! :D –

関連する問題