問題タブ [opencv-contour]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1838 参照

c++ - 輪郭 / OpenCV 2.4.4 の接続コンポーネント

私は現在、検出された輪郭がたくさんある画像に取り組んでいます。私の目標は、輪郭の数を絞り込んで、探しているものだけにすることです。そのために、エリアとバウンディング ボックスに基づいて一連のテストを行います。

今のところ、すべてのステップの後にdrawContours、保持したい輪郭に対して a を実行し、その後に a が続きfindContoursます。

私の問題はfindContours一度だけ実行して、不要な輪郭を消去したいということです。これは可能ですか?

現在の方法:

希望の方法:

これらの輪郭を消去する方法はありますか?

PS : 内側の輪郭は気にしません。それらすべてをテストに合格させたいと思っています。


EDIT、解決策(リモナナが指摘)は次のとおりです。contours.erase(contours.begin()+i);

0 投票する
1 に答える
57669 参照

python-2.7 - OpenCV 2.4で輪郭と外接する長方形を扱う - python 2.7

私はopenCvとpythonを使用しており、構造分析と形状記述子を扱っています。私はこのブログを見つけました:http: //opencvpython.blogspot.it/2012/06/contours-2-brotherhood.html は非常に役に立ち、白黒の画像で外接する四角形を描画しようとしましたが、うまくいきました。しかし、今では画像から、たとえば黄色を抽出し、その上に外接する四角形を描きたいと思います。問題は、白黒の画像が均一ではなく、ノイズがあり、コードが形状全体を認識していないことです。

元の画像

白黒画像

最終イメージ

そして、これはコードです:

0 投票する
1 に答える
3216 参照

opencv - OpenCV - 輪郭から小さな線分を削除する方法は?

輪郭から小さな線分を削除する方法はありますか?

たとえば、このイメージでは、最大の等高線は緑色で指定され、その近似は青色で指定されています。

ここに画像の説明を入力

輪郭はポイントのセットであるため、赤い円で囲まれた輪郭のセグメントを削除するために何かできると思います。たとえば、細い線や小さなサブ輪郭を検出して削除するなどの方法があります。しかし、どうすればできるのかわかりません。

その前ではなく、輪郭を見つけた後にそれらを削除したいことを覚えておいてください。それらを削除する方法を知っていますか?または任意のアイデア?

0 投票する
1 に答える
1231 参照

python - 左から右にopencv-pythonで順次輪郭を作成する方法

opencv-python で等高線を使用して手書きの数値をセグメント化した後、ランダムな出力等高線が得られます。左から右、上から下に順番に取得するにはどうすればよいですか?

0 投票する
2 に答える
16173 参照

c++ - openCV 2.4.10 bwlabel - 接続されたコンポーネント

以下は、matlab の元のコードです。

これがopenCVを使用した私のコードです

これで輪郭ができたので、bwlabel 関数
1 を使用したいと思います。ラベル付けは、接続された 4 ~ 8 個のオブジェクトを取得するために行われると考えました。ラベリングとは実際には何なのか説明していただけますか?私は任意のリンクを apriciate します。
2. OpenCV の接続されたコンポーネント この記事では、CVblob について話している人もいれば、opecv の cvContourArea について話している人もいますが、違いを説明できますか。私のユースケースにより適したものは何ですか?

更新: cvBlobs を使用して試したことは次のとおりです。

0 投票する
0 に答える
527 参照

c++ - opencv を使用してランダムな形状を塗りつぶす

唇や眼球などの不規則な形状を塗りつぶす必要があるアプリケーションを作成しようとしています。

私がやろうとしたことは、CLM ポイントを抽出することでした。次に、OpenCV でフラッディング機能を試してみましたが、ランダムな形状に対してはできませんでした。

その後、drawContours関数を試して、負の厚さを使用して塗りつぶしたところ、次のような結果が得られました。

より良い充填結果を得て、CLM ポイントを追跡するための提案をしてくれる人はいますか?

0 投票する
1 に答える
1526 参照

android - Androidで凸包を描く

画像に凸包を描画しようとしました。このために、すべての輪郭を見つけて、最大面積の輪郭を選択します。drawContours受け入れますMatOfPointconvexHull、私に与えますMatOfIntこの質問を読んで、いくつかのコードを実行します。それらのいくつかは凸包を描きますが、実際の凸点を見つけることはできません。

以下のコードを使用していますが、最後の行に実行時エラーがありますm.fromArray(hullpoints.get(i));hullpoints.get(i)ポイントは 1 つしかなく、コードはMatOfPointオブジェクトを作成できません。MatOfPointからに変換するにはどうすればよいMatOfIntですか?

0 投票する
1 に答える
3018 参照

c++ - Opencv findcontours CV_RETR_EXTERNAL が機能しない

私はこのイメージを持っています:

編集 申し訳ありませんが、画像を削除する必要がありました!

黒以外の画像の輪郭を抽出する必要があるため、CV_RETR_EXTERNAL パラメータを指定して findcontour を使用しましたが、次のようになりました。

コードは次のとおりです。

どうすれば解決できますか?