본문 바로가기

라벨링

OpenCV 강좌 06. 마커 추출 (1) - 잡영 제거 본 장에서는 마커 추출을 위해 레이블의 크기정보를 토대로 잡영여부를 판단하고 이를 제거하는 방법을 소개한다. 1. 버튼 처리 - 단계적으로 결과를 보기 위한 체크박스 삽입 - 이진화를 해야 레이블링이 가능하고, 레이블링 이후에만 레이블링 통한 잡영 제거가 가능하도록 버튼 조작 (나중에 이런 부분들은 다 제거할 예정임.) 2. 레이블링 클래스에 잡영제거 루틴 추가 BlobSmallSizeConstraint(int nWidth, int nHeight)는 지정한 값 보다 작은 레이블들을 제거하고, BlobBigSizeConstraint(int nWidth, int nHeight)는 지정한 값 보다 큰 레이블들을 제거한다. 각각의 함수는 클래스 내부에서 각각 _BlobSmallSizeConstraint()와 _..
OpenCV 강좌 05. 레이블링(Blob Labeling) 앞선 강좌에서는 OTSU 기법을 이용한 이진화 방법에 대해 알아보았다. 오늘은 이진화된 영상에서 각각의 컴포넌트들을 잘라낼 수 있는 레이블링에 대해 알아본다. 레이블링(Labeling)이란? 인접한 화소에 모두 같은 번호(Label)를 붙이고 연결되지 않은 다른 성분에는 다른 번호를 붙이는 일 1. 클래스 추가 2. 픽셀 방문 기록을 남길 구조체 및 각종 변수 선언 레이블링시 영상의 전체 픽셀을 검사하며 돌아다니게 되는데, 이 때, 해당 픽셀의 이전 방문 여부와 되돌아갈 곳의 위치를 저장하는 구조체를 선언한다. 또한 레이블링시 레이블이 저장될 이미지와 각 레이블의 정보가 담길 각각의 변수들을 선언한다. 3. 실제 레이블링 알고리즘의 구현 - 파라미터를 설정하고, DoLabeling() 함수를 실행함으로써..