キャンバスイメージのピクセルマトリックスをバイナリ(0 =黒、1 =他の色)のマトリックスに変換しました。その行列は次のようになります。キャンバス要素を特定し、行列内に別々の要素を指定します
var matrix = [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 1, 1, 1, 1, 0, 0, 0],
[1, 1, 0, 1, 0, 0, 0, 1, 0, 0],
[1, 0, 0, 1, 0, 0, 0, 1, 0, 0],
[0, 0, 1, 1, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 1, 1, 0],
[0, 1, 0, 1, 0, 0, 0, 1, 1, 1],
[0, 1, 0, 1, 1, 0, 0, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
];
1を見ると、画像の要素になります。 どうすればその行列の要素を分けることができますか?私は1を見つけるたび、私は他の周り1(上、下、左、右または斜め) と
for(var y = 0; y < contFilas; y++) {
for(var x = 0; x < contColumnas; x++) {
if (matrix[y][x]== 1) {
//check if there are more 1 around
}
}
}
に異なるアレイに私が期待した結果がこれらを保存している場合、私は、各位置で確認することがあり、
ElementArray1 = [...] // elements of a region with positions
ElementArray2 = [...]
ElementArray3 = [...]
//as many arrays as there are elements
For example, the ElementArray1 contains:
[(0,4),(0,5),(1,3),(1,4),(1,5),(1,6),(2,5),(2,6)] //first figure of 1s
希望の結果を追加してください。 –
行列がありますか? – evolutionxbox
編集して修正しました!ありがとう! – Norak