###前提・実現したいこと
windouws上でpython2.7とopenCV2.4.13を使って画像処理のプログラムを作る練習
###発生している問題・エラーメッセージ
エラー箇所edges=cv2.Canny(img, 300, 300) error: ..\..\..\..\opencv\modules\imgproc\src\canny.cpp:94: error: (-215) src.depth() == CV_8U in function cv::Canny
###該当のソースコード
python
1import datetime 2import cv2 3import numpy as np 4 5img = cv2.imread('./testdata/20150617204254.png', -1) 6 7 8print np.amax(img) 9 10cv2.imshow('Original lena', img) 11#cv2.imshow('Original lena', (img/256).astype(np.uint8)) 12 13 14edges=cv2.Canny(img, 300, 300) 15cv2.imshow('Edge lena', edges) 16 17now = datetime.now().strftime("%Y%m%d%H%M%S") 18 19print now 20 21name = now + ".jpg" 22 23cv2.imwrite(filename, edges) 24cv2.waitKey(0) 25cv2.destroyAllWindows() 26
###試したこと
Original lena は表示されるのですが、Edge lenaが表示されません。
何が原因でエラーが出ていると考えられますか
openCVのバージョンを教えてください。
opencv-2.4.13です
imreadの第二引数を変えてみたらどうなりますか?レナさんがカラーの場合cv2.IMREAD_COLORを、グレイスケールの場合cv2.IMREAD_GRAYSCALEを指定してみてください。
cv2.imread('./testdata/20150617204254.png', 1)に変更すると"Edge lena"が表示されました。ありがとうございます。
cv2.IMAGE_COLORですね。なぜかわかりませんが、明示する必要があったのでしょうかね...?
先輩のコードの引継ぎだったんで、そのままにしていました。ともあれ希望どうりにプログラムがはしりました、ありがとうございます。
ご自身で解決策を回答に書いて、自己解決扱いにしておいてください。のちのち、同じようなエラーに苦しむ人の助けになるかと思います。
承知しました。
回答1件
あなたの回答
tips
プレビュー