배경과 객체 분리 이후 각 객체 분리 필요
이떄 사용하는 작업
객체 픽셀 집합에 고유 번호 매기기
-> 연결된 구성 요소 레이블링 이라고도 함
이진화 후 진행
이진 영상 레이블링 하면 2차원 정수 행렬 만들어짐 -> 레이블 맵
connectedComponents를 사용하면 레이블된 맵 리턴
connectedComponentsWithStats 사용하면 통계 정보까지 같이 제공
stats와 centroids가 추가된 형태
stat 행렬에서 두번째 행렬 0,0,4,3,10 확인해보면
1번 객체 감싸는 바운딩박스 (0,0)~ (4,3) 이다
1번 객체 픽셀 수는 10
centroids 행렬에서 두번째 행 원소 값이 (1.7 ~ 1.2)
1번 영역 무게중심 좌표
외곽선 : 객체 영역 중 배경 영역과 가장 인접한 일련의 픽셀
vector<vector<Point>> contours;
로 나타냄
객체 백터 안에 여러 점들...
검출하면 contours 변수에
contours[0] : [1,1], [1,2] , [1,3] ...
contours[1] : ...
이런 식으로 들어감
findContours() 함수 이용
mode 인자
method 인자
검출된 외곽선 점의 좌표 근사화
boundingRect()
외곽선, 점을 감싸는 최소 크기의 사각형
minEnclosingCircle
외곽선, 점을 감싸는 최소 크기의 원
approxPolyDP()
주어진 곡선 형태를 단순화하여 작은 개수의 점으로 구성된 곡선 생성