4

C++アプリケーションの画像で連結成分ラベリングアルゴリズムを使用する必要があります。自分で実装することもできますが、 union-find wikiの記事で言及されているため、 Boostのunion-find /disjointsets実装を使用しようとしていました。

disjoint_setsオブジェクトを作成して、自分が持っている画像データ(符号なしのショートパンツ)で機能するようにする方法がわかりません。私は何が欠けていますか?Boostドキュメントの例は、私には意味がありません。画像がある場合、これらの例ではすべての追加のGraph mumbo-jumboが必要ですか?または、OpenCVに接続されたコンポーネントのラベル付けの実装はすでにありますか。現在、OpenCV1.1pre1とBoost1.37を使用しています。

4

4 に答える 4

3

驚いたことに、OpenCV には CCL がありません。ただし、リファレンス マニュアルに記載されている回避策があります。cvDrawContours の例を参照してください。使ってみると、画像の最初と最後の行と列でおかしな動作をしましたが、おそらく何か間違ったことをしたのでしょう。

別の方法は、cvBlobsライブラリを使用することです。

于 2010-01-29T09:39:34.677 に答える
1

ウィキペディアや他の場所で見つけた説明を使用して、CCL と Union-Find 自分自身のアルゴリズムを作成することになりました。この目的のためだけに別のライブラリをアプリケーションに追加するよりも、簡単で高速に思えました。

于 2010-03-19T18:41:06.523 に答える
1

もう 1 つの可能性は、Ali Rahimi が提供するソース コードを使用することです。このを参照してください。

于 2012-07-06T10:32:38.817 に答える
0

接続されたコンポーネントのラベル付けには、boost ライブラリのdisjoint_setsを使用できました。しかし、テストするために、ラベルと同じ値を持つピクセル強度を持つ画像を作成しようとしていました。これにより、まだ処理できていない問題が発生しました。スレッドを見てください。

于 2011-03-13T15:40:05.587 に答える