接続されたオブジェクトを分離しようとしています。Python と流域アルゴリズム (scipy 実装) は、これを処理するのに適しているようです。
これが私の画像と自動的に生成された流域シードポイントです(しきい値処理され距離変換された画像の極大値):
seeds = myGenSeeds( image_grey )
ここまでは順調ですね; すべてのオブジェクトにシードがあります。
ただし、流域を実行すると、状況が悪化します。
segmented = ndimage.measurements.watershed_ift( 255 - image_grey, seeds)`
上部中央のクラスターと中央のクラスターの両方が不十分に分離されています。上部のクラスターでは、1 つのオブジェクトが他の 2 つのオブジェクトの周りにあふれています。中心の星団では、小さすぎてここでは見えないかもしれませんが、中心の種はほんの数ピクセルにあふれています。
2 つの質問があります。
- ウォーターシェッド アルゴリズムは、このようなオブジェクトを分離するのに適していますか?
- もしそうなら、画像を流域セグメンテーションにより適したものにするために私がしなければならないある種の前処理はありますか?