더북(TheBook)

그림 12-4에서 labels 행렬에 1번으로 레이블 번호가 매겨진 객체 영역 정보에 대해 좀 더 자세히 분석해 보겠습니다. stats 행렬에서 두 번째 행 원소 값이 [0, 0, 4, 3, 10]으로 저장되어 있으며, 이는 1번 객체를 감싸는 바운딩 박스가 (0, 0) 좌표에서 시작하여 가로 크기가 4, 세로 크기가 3인 사각형이고, 1번 객체 픽셀 개수가 10임을 나타냅니다. centroids 행렬에서 두 번째 행 원소 값이 [1.7, 1.2]로 저장된 것은 1번 영역의 무게 중심 좌표가 (1.7, 1.2)라는 것을 의미하고, 이 값은 1번 객체 픽셀의 x 좌표와 y 좌표를 모두 더한 후 픽셀 개수로 나눈 값입니다.

connectedComponentsWithStats() 함수를 사용하여 실제 영상에 레이블링을 수행하고, 검출된 객체의 위치와 크기를 화면에 표시하는 예제 코드를 코드 12-2에 나타냈습니다. 코드 12-2의 labeling_stats() 함수는 입력 영상을 이진화한 후 레이블링을 수행합니다. 그리고 레이블링에 의해 얻은 객체 통계 정보를 이용하여 각 객체를 감싸는 바운딩 박스를 노란색 사각형으로 표시합니다. labeling_stats() 함수가 정의된 소스 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch10/labeling 프로젝트에서 확인할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.