검색결과 리스트
글
화소 연결성
컴퓨터비전/영상처리
2014. 10. 9. 23:04
각각의 화소에 대한 연결성은 어떻게 표시해야 할까?
이진영상으로 아래 그림과 같은 영상이 들어왔다고 했을때
[그림1 이진영상]
[그림2 4-연결성]
[그림3 8-연결성]
연결요소를 찾아 번호를 붙이려면 범람채움(flood fill)알고리즘을 사용한다.
아래 제시된 코드는 4연결성 flood-fill 알고리즘이다.
만약 8-연결성 flood-fill 알고리즘으로 바꾸려면 flood_fill4함수에 대각선 4방향을 추가하여 8번 호출하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /* Flood fill(4-연결성 버전) 입력 : 이진영상 b(j,i), 0≤j≤M-1, 0≤i≤N-1 출력 : 번호를 매긴 영상 I(j,i), 0≤j≤M-1, 0≤i≤N-1 */ b를 I로 복사한다. 이때 0은 0, 1은 -1로 복사 // -1은 아직 번호를 안붙였음을 의미 I의 탐색 경계 설정(이미지 크기), j = 0, j = M-1, i = 0, i = N-1인 화소를 0으로 설정 label = 1; for(j=1 to M-2) for(i=1 to N-2) if(I(j,i) == -1) { // 번호를 아직 안붙였을 때 flood_fill4(I, j, i, label); label++; } // 4-연결성 flood-fill 함수 function flood_fill4(l, j, i, label) { if(l(j,i) == -1) { // 번호를 안붙인 화소이면 l(j, i) = label; flood_fill(l, j, i-1, label); // left flood_fill(l, j, i+1, label); // right flood_fill(l, j-1, i, label); // top flood_fill(l, j+1, i, label); // bottom } } |
출처 : 컴퓨터비전(오일석)
'컴퓨터비전/영상처리' 카테고리의 다른 글
bilateral filter (0) | 2014.10.10 |
---|---|
영상처리의 기본연산 (0) | 2014.10.10 |
이진영상 (0) | 2014.10.09 |
히스토그램 (0) | 2014.10.09 |
영상처리란 무엇인가? (0) | 2014.10.09 |