質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

6261閲覧

python openCVのエラー解消

tetuwan28emon

総合スコア15

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2017/06/29 02:15

編集2017/06/29 05:01

###前提・実現したいこと
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が表示されません。
何が原因でエラーが出ていると考えられますか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

granfa_yuzo

2017/06/29 02:53

openCVのバージョンを教えてください。
LouiS0616

2017/06/29 05:36

imreadの第二引数を変えてみたらどうなりますか?レナさんがカラーの場合cv2.IMREAD_COLORを、グレイスケールの場合cv2.IMREAD_GRAYSCALEを指定してみてください。
tetuwan28emon

2017/06/29 06:22

cv2.imread('./testdata/20150617204254.png', 1)に変更すると"Edge lena"が表示されました。ありがとうございます。
LouiS0616

2017/06/29 06:24

cv2.IMAGE_COLORですね。なぜかわかりませんが、明示する必要があったのでしょうかね...?
tetuwan28emon

2017/06/29 06:26

先輩のコードの引継ぎだったんで、そのままにしていました。ともあれ希望どうりにプログラムがはしりました、ありがとうございます。
LouiS0616

2017/06/29 06:28

ご自身で解決策を回答に書いて、自己解決扱いにしておいてください。のちのち、同じようなエラーに苦しむ人の助けになるかと思います。
guest

回答1

0

自己解決

img = cv2.imread('./testdata/20150617204254.png', -1)から

img = cv2.imread('./testdata/20150617204254.png', 1)へ変更でプログラムがはしるようになりました。
指定画像がカラーの画像だったにもかかわらずグレイスケールを指令していたのが動かなかった原因だと考えられます。

投稿2017/06/29 07:36

tetuwan28emon

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問