私は自分のボット用のStarcraft 2マップ内のミネラル/ガスの領域を特定しようとしています。下の画像は、私が持っている2次元配列のプロットを示しています.1はミネラルパッチまたはガスパッチです。2次元配列のpythonクラスタまたはグループバイナリデータ
私は、あなたが識別したい4つのクラスターがあることがわかります。私が使用しようとしている
:
from scipy.ndimage import measurements
lw, num = measurements.label(map)
(MAP)は、鉱物/ガスパッチが存在するものと64,64アレイです。
これは、4つのクラスタ内に空白があるため、21のクラスタを検出します。
また、アレイを取得するときに探しているクラスタの数もわかりません。私はConnected-componentラベリングを見ていましたが、1または3の位置の要素が離れている限り、見ることができませんでした。私は4つまたは8つの接続方法しか見ていません。
この問題にどのように対処する必要がありますか?
これはうまくいった。ありがとう。私は私の仕事の2番目の部分を元の投稿に入れるのを忘れていました。別の投稿を作成するかどうかは分かりませんが、私は尋ねようと思っていました。私はまた、これらのクラスターのそれぞれから最適な距離にオブジェクトを配置する場所を見つける必要があります。たとえば、クラスター内の各要素から少なくとも4単位(ユークリッド距離)のクラスターに最も近い点を見つけるにはどうすればよいでしょうか?すなわち、その点はクラスタのどの部分からも4単位以内にあることはできない。 –
@CraigHamilton私はそれが新しい質問のために十分に明確だと思います。 –