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

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

詳細はこちら
OpenCV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

528閲覧

二値化後の処理方法について

puripuri1234

総合スコア10

OpenCV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/01/28 12:19

編集2021/01/28 12:47

中央の大きな白い物体が今回取り出したいオブジェクトです。
今行いたい処理方法として周りの物体の削除と白い物体の中身を白で潰したいです。

なにか手法がありましたら、お願いいたします。

イメージ説明

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

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

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

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

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

tiitoi

2021/01/28 12:31

jpg だと2値化後の値が読み込んだときに再現できないので、png で保存して上げ直していただけますか?
tiitoi

2021/01/28 12:41

編集後の画像を見ましたが、画素値の値が変わっていないです。もしかして jpg を png に変換してアップしましたか? 2値化した直後の画像を cv2.imwrite("sample.png", img) で保存してアップするか、それか元の画像をそのままアップしていただけますか?
puripuri1234

2021/01/28 12:46

申し訳ございません すぐ行います
guest

回答1

0

ベストアンサー

以下のようにすればできます。

  1. max_contour = max(contours, key=lambda x: cv2.contourArea(x)) で面積が最大の輪郭を抽出する
  2. 元画像と同じサイズの真っ黒な画像を作成する
  3. 真っ黒な画像に対して、cv2.drawContours() で輪郭内部を白く塗りつぶす

参考
面積が最大の輪郭を取得する方法

python

1import cv2 2import numpy as np 3 4# 画像を読み込む。 5img = cv2.imread("sample.png", cv2.IMREAD_GRAYSCALE) 6 7# 輪郭を抽出する。 8contours, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 9 10# 面積が最大の輪郭を取得する 11max_contour = max(contours, key=lambda x: cv2.contourArea(x)) 12 13# 輪郭を描画する。 14dst = np.zeros_like(img) 15cv2.drawContours( 16 dst, [max_contour], -1, color=255, thickness=-1, 17) 18 19cv2.imwrite("dst.png", dst)

イメージ説明

投稿2021/01/28 13:08

編集2021/01/28 13:09
tiitoi

総合スコア21956

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

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

puripuri1234

2021/01/28 13:30

ありがとうございます!! ちなみになんですが、これに対して最小外接円を描画するとき、どのようにすればよろしいでしょうか。
puripuri1234

2021/01/28 14:42

ありがとうございます 参考にさせていただきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問