[OpenCV 3.2] Labeling (레이블링, 라벨링)


1. 레이블링이란?

이진화 한 이미지에서 형체를 알아보기 위해 같은 픽셀 값들끼리 그룹화하여 번호를 매긴 것을 레이블링이라고 한다.

레이블링은 크게 4방향과 8방향으로 나누어진다.

4방향은 한 픽셀을 중심으로 좌우상하로 인접한 픽셀을 그룹화하고, 8방향은 좌우상하에 대각선4방향과 인접한 픽셀을 그룹화한다.

 

 

 

 

 

1

 

 

2

2

 

 

1

 

 

2

 

 

3

 

 

 

 

 

3

3

 

 

 

 

 

 

 

 

4

5

 

6

6

 

4

 

 

7

 

6

 

 

4방향 레이블링

 

 

 

 

 

1

 

 

2

2

 

 

1

 

 

2

 

 

1

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

3

4

4

 

4

4

 

3

 

 

4

 

4

 

 

8방향 레이블링


2. 소스 코드

int cv::connectedComponentsWithStats ( InputArray image, OutputArray labels, OutputArray stats, OutputArray centroids, int connectivity = 8, int ltype = CV_32S )

1) image : 레이블링할 이미지

2) labels : 레이블링한 결과 이미지

3) stats : 레이블링 된 이미지 배열

4) centroids : 레이블링 된 이미지의 중심좌표

소스 코드 참조 : http://webnautes.tistory.com/823


3. 실행 결과




컴퓨터 비전과 영상 처리에 대해 독학을 하면서 정리한 걸 적고 있습니다.

전공과 무관하며 전문적인 지식이 아니므로 개인적인 의견과 부족하고 틀린 점이 많습니다.

추가 지식 및 잘못된 점을 지적해주시면 공부하는데 많은 도움이 되겠습니다. 감사합니다^^

- 푸어맨


[Reference]

(스텍 레이블링) http://devmonster.tistory.com/22

(십자 모양 레이블링) http://webnautes.tistory.com/823

(OpenCV 레이블링 함수) http://lab.deepaivision.com/2015/04/opencv-30-blob-or-labeling-algorithm.html

(번호판 인식 절차) http://dslab.konkuk.ac.kr/Class/2014/14CD1/%EC%A1%B8%EC%97%85%EC%9E%91%ED%92%88%202%EC%B0%A8%20%EB%B3%B4%EA%B3%A0%EC%84%9C_200511347_%EC%9D%B4%ED%83%9C%ED%99%94,200811447_%EC%9D%B4%EC%9E%AC%ED%98%95__2_.pdf

+ Recent posts