캔버스 이미지의 픽셀 행렬을 이진수 행렬 (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을 찾을 때마다, 나는 주위에 다른 일이있는 경우 (위, 아래, 오른쪽 또는 대각선 왼쪽) 을 다른 배열
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