3

Open-CV を使用して処理している画像処理の問題が 2 つあります。

  1. 互いに離れた異なる色の類似オブジェクトを識別します。
  2. 互いに離れた異なるサイズの同系色のオブジェクトを識別します。

シナリオ 1 と 2 のサンプル画像。

1

色違い

2

異なるサイズ

どちらの画像にも 3 種類の対象物があります。(3色または3サイズのいずれか)

私が遭遇した手法には、しきい値処理と、ピクセル カウントによる侵食の使用、RGB 値を使用したカラー セグメンテーションが含まれます。

適切なワークチェーンとは何か、開始するのに適した場所は何か?

4

3 に答える 3

7

色のセグメンテーションでは、似たような色は直線的に関連していないため、RGB を避ける必要があります。

例として、2 つの類似した色 (色相が同じ) の RGB 値が大きく異なる場合があります。

同じ色相と非常に異なる RGB 値

色を輝度から分離した LUV や HSV などの色空間で作業することをお勧めします。たとえば、LUV の U、V コンポーネントでクラスタリング アルゴリズムを試すことができます。

于 2012-06-14T12:22:13.950 に答える
2
  1. 明らかに、RGB 値を使用することが、おそらくここから始める最良の方法です。関数 cvSplit を使用すると、3 つの分離されたプラン B、G、R が得られます (RGB ではなく、OpenCV での BGR 順序)。それぞれに、対応する色の円のみが表示されます。

  2. ここでは、関数 cvCanny によって OpenCV に実装されている Canny アルゴリズムを使用して最初にエッジ検出を実行し、次に OpenCV に実装されている Hough アルゴリズムを使用して円検出を実行することをお勧めします。よく覚えていれば、ハフ円の OpenCV 関数は円のプロパティ (半径...) を返します。これにより、円のサイズを識別することができます。2. のもう 1 つのオプションは、形態学を使用する Hit&Miss アルゴリズムです。ただし、OpenCV で形態学を使用したことはなく、Matlab でのみ使用しました。

楽しむ

于 2012-06-13T02:19:12.853 に答える
2

非常にうまく機能し、複雑な形状を処理できるcvBlobを見てください。

于 2012-06-12T22:14:17.877 に答える