🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenCV

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

Q&A

解決済

1回答

1450閲覧

opencvで朝顔の画像の輪郭抽出をしたい

gurichann

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

OpenCV

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

0グッド

0クリップ

投稿2020/12/17 06:14

前提・実現したいこと

opencvで朝顔の画像を使い、花びらだけを矩形で囲みたい

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

花びらだけでなく、葉も輪郭線で囲んでしまい花びらだけを矩形で囲めない。 また、矩形も四方八方に散ってしまう。

該当のソースコード

#輪郭抽出 cnts=cv2.findContours(im2, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)[0] for i in range(0, len(cnts)): if len(cnts[i]) > 0: # remove small objects if cv2.contourArea(cnts[i]) < 500: continue cv2.polylines(img, cnts[i], True, (255, 255, 255), 5) #polylines 折れ線や多角形を描画 # save cv2.imwrite('asagao_boundingbox_.jpg', img) #矩形で囲む for i in range(0, len(cnts)): if len(cnts[i]) > 0: # remove small objects if cv2.contourArea(cnts[i]) < 500: continue rect = cnts[i] x, y, w, h = cv2.boundingRect(rect) cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) # save cv2.imwrite('asagao_boundingbox2_.jpg', img)

試したこと

イメージ説明
朝顔の花だけを3つの矩形で囲みたいのですが、周りの葉も認識してしまいます。
また、画像全体の枠も囲んでしまいます。
輪郭を抽出するところ、矩形で囲むところの座標の適当な数字が分からず参考にしたソースコードそのままです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

朝顔の花だけを3つの矩形で囲みたい

という話はかなり難しい話に思えます.
要は,個々の花を区別(=認識)できる必要があるのでしょうから.

が,とりあえずそれは置いといて……

その画像に関して,葉っぱをどうにか除外することを目指すのであれば,
例えば各画素を,その色から適当に

  • 青に近い(花っぽい)
  • 緑に近い(葉っぽい)
  • 青にも緑にも近くない(どちらでもない)

の3つくらいにグルーピングし,グループ間境界を作ってみるとよいのではないか,とか.
(境界のうち,青グループに接しているやつだけを抽出すれば,そこそこ花の輪郭になるのではないか,という安易な考え)

投稿2020/12/17 06:46

fana

総合スコア11985

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

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

gurichann

2020/12/20 15:09

他の方法を探してみたいと思います、参考にさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問