1

Pythonでバイナリ イメージのセグメンテーションを実装する簡単な方法はありますか?

私の二次元の「画像」はnumpy配列です。使用される値は1.00.0です。値を持つすべてのオブジェクトのリストが必要です1.0。すべての黒いピクセルは、オブジェクトのピクセルです。オブジェクトには、値 を持つ多くの接触ピクセルが含まれる場合があります1.0

numpyとも使えますscipy

私はすでにすべてのピクセルを反復処理してピクセルのセットを作成し、新しいピクセルを古いセットに埋めようとしました(または新しいセットを作成しました)。残念ながら、実装は貧弱で、非常にバグが多く、非常に遅かったです。

うまくいけば、このようなものはすでに存在しますか、それとも簡単な方法がありますか?

どうもありがとうございました

4

1 に答える 1

2

私の考えでは、これはまさに scipy.ndimage.measurements.label と scipy.ndimage.measurements.find_objects を使用して実行できることです

「触れる」の意味を明確にする必要があります。エッジ共有を意味する場合は、ndimage.measurements.label のデフォルト構造が必要な構造であるため、配列を渡すだけで済みます。接触がコーナー共有も意味する場合は、docstring に適切な構造が見つかります。

その後、find_objects はオブジェクトのスライスのリストを生成できます。

于 2016-09-12T09:52:48.757 に答える