セグメンテーションに使用できるいくつかの異なる機能計算を使用する必要があると思います。最初の図では、円は強度だけで認識できるので、簡単です。2 番目の図では、ほとんどが円のエッジを区別するテクスチャです。その場合、ある種のテクスチャ フィルタに基づくフィーチャ イメージが必要になります。たとえば、局所的な分散を計算すると、円のエッジをセグメント化できるスカラー イメージが得られます。サークル。他のシナリオで円を定義する他の機能 (背景の前景などの異なる色) がある場合は、そのような場合にスカラーの違いを与える他の明示的なフィルターが必要になる場合があります。
円が目立つスカラー イメージがある場合は、円形のハフ変換を使用して円を見つけることができます。さまざまな円のサイズに対して実行するか、サイズの範囲を検出するように変更します。
円が 1 つしかないことがわかっていて、存在するノイズの種類 (縦線/横線など) がわかっている場合、代わりのアプローチは、より具体的なアルゴリズムを設計することです。たとえば、ノイズを除外して重心を見つけるなどです。
コメントへの回答: アイデアは、アルゴリズムを独立した段階に分離することです。あなたが持っている特定のアルゴリズムがどのように機能するかはわかりませんが、おそらく、高い値が円の一部のピクセルを意味し、低い値のピクセルが円の一部ではないことを意味するバイナリまたはグレースケールの画像を取ることができます。現在のアルゴリズムは、ある種の信頼値も与える必要があります見つけたサークルで。次に、この現在のアルゴリズムは、完全なアルゴリズムの最後のいくつかの段階を表します。次に、処理するすべての種類の入力に対して特徴画像を生成する最初のステージを追加する必要があります。2 つの例では、1 つの強度画像 (単にグレースケール) と、各ピクセルが局所分散を表す 1 つの画像で十分です。色の場合、おそらく色相値を使用して色を変換しますか? すべての入力が後のステージにすべての特徴画像をフィードするたびに、信頼値を使用して最も可能性の高い候補を選択します。アルゴリズムが入力パラメーター (円のサイズなど) として必要とする他の未知数がある場合は、可能な値を繰り返し処理し、後の段階で信頼値が返されるようにします。