画像内のオブジェクトのカウント

今日は、画像内のオブジェクトの数をカウントする2つのアルゴリズムについて説明します。 このトピックは、主に画像処理を始めたばかりの人を対象としています。 専門家にとっては、新しいことは何も言いません。

高レベルの画像処理のプロセスでは、オブジェクトの数をカウントするタスクが非常に頻繁に発生します。 もちろん、領域の再帰的なラベル付けアルゴリズム(スタンプ方式)を使用して解決できます。

マークドット、ラベル

始まり

ポイントが背景に属さず、マークされていない場合

始まり

ポイントにラベルを割り当てますドット、ラベル

マーク上記のドット、ラベル ;

マーク下のドット、ラベル ;

マーク左を指す、マーク ;

マーク右を指す、マーク ;

終わり

終わり



上記のアルゴリズムを元の画像の各ピクセルに適用し、見つかったオブジェクトごとにラベルを変更する必要があります。 アルゴリズムの実行後、オブジェクトの数は使用されるラベルの数と等しくなります。

このアルゴリズムにより、オブジェクトの数をカウントできるだけでなく、オブジェクトを互いに分離することもできます。 このアルゴリズムが再帰を使用していることに気付くのは簡単です。つまり、2つの潜在的な問題があります。 第一に、アルゴリズムの速度がリアルタイムのデータ処理に十分でない可能性があります。第二に、特にこのアルゴリズムをハードウェア(FPGA)で実装することについて話している場合、十分なスタックサイズがない可能性があります。

オブジェクトをカウントする2番目の方法は、外角と内角の数の差を計算することに基づいています。 外側の角は、背景の3ピクセルとオブジェクトの1ピクセルを含む2 * 2ピクセルの近傍であり、内側の角は、オブジェクトの3ピクセルと1つの背景ピクセルを含む2 * 2ピクセルの近傍です。

外部コーナーパターン:



内部コーナーテンプレート:



画像内のオブジェクトの数は、外角と内角の数の差の4分の1として計算されます。

このアルゴリズムの実行に必要なリソースは最小限です。 ソフトウェアの実装では、イメージ全体を1回パスする必要があり、ハードウェアの実装では、あと2つのカウンターのみが必要です。

このアルゴリズムは、オブジェクト内に背景ピクセルがない場合にのみ正しく機能することを理解することが重要です。 このようなピクセルは「ペッパー」ノイズと呼ばれ、数学的モルフォロジー手法によって簡単に除去されます。

そしていつものように、説明されたアルゴリズムを実装するプログラムをダウンロードできます



PSトピックが興味深い場合、FPGAでの画像処理アルゴリズムの実装に関するトピックを書くことができます。



All Articles