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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2426閲覧

Opencvのcanny法で抽出した輪郭をカウントしたい

退会済みユーザー

退会済みユーザー

総合スコア0

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/02/17 04:15

編集2020/02/17 04:33

前提・実現したいこと

opencvのcanny法でエッジを検出して、その数をカウントしようと試みています。
参考サイトのコードを参考にコードを書きましたが下記エラーが発生してしまいます。
このエラーメッセージは、おそらく閾値指定のフィルタリングの際の画像がグレースケールじゃない事が問題だと思うのですが、どうすればこの問題を解決してカウントできるのかわかりません。
よろしくお願いします。

発生している問題・エラーメッセージ

FindContours supports only CV_8UC1 images

該当のソースコード

python

1canny2_color = (20, 255, 63) 2canny_image_PIL_RGBA.paste(Image.new("RGB", canny_image_PIL_RGBA.size, canny2_color), mask=mask) 3image2 = cv2.cvtColor(np.asarray(canny_image_PIL_RGBA), cv2.COLOR_RGBA2BGRA) 4# ↑ここまでリンク先のコードと同じ(一部だけ記載) 5 6# 閾値指定によるフィルタリング 7_, threshold = cv2.threshold(image2, 240, 255, cv2.THRESH_BINARY) 8# 輪郭を抽出 9contours, _ = cv2.findContours(threshold, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 10font = cv2.FONT_HERSHEY_DUPLEX 11# 数の変数 12num = 0 13# 数を数える 14for cnt in contours: 15 approx = cv2.approxPolyDP(cnt, 0.01*cv2.arcLength(cnt, True), True) 16 cv2.drawContours(image2, [approx], 0, (0), 2) 17 x = approx.ravel()[0] 18 y = approx.ravel()[1] 19 20 if len(approx) >= 3: 21 num += 1 22 cv2.putText(image2, "No.{}".format(num), (x, y), font, 0.8, (0)) 23 24# 画像を出力 25cv2.imwrite('xxx_xxx.png', image2)

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

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

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

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

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

guest

回答1

0

ベストアンサー

参考サイトの処理の大部分は、エッジを蛍光色で表示するだけの処理です。
単純に閾値処理をしたいだけならcanny_imageをフィルタリングすればよいかと

投稿2020/02/17 05:28

kome_as

総合スコア66

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

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

退会済みユーザー

退会済みユーザー

2020/02/17 06:13

なるほどです。canny_imageの箇所以外をざっくり削除したら動きました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問