더북(TheBook)

7~12행 setLabel() 함수는 img 영상에서 pts 외곽선 주변에 바운딩 박스를 그리고 label 문자열을 출력합니다.

9행 pts 외곽선을 감싸는 바운딩 박스를 구합니다.

10행 바운딩 박스를 주황색으로 표시합니다.

11행 바운딩 박스 좌측 상단에 label 문자열을 출력합니다.

16행 polygon.bmp 파일을 3채널 컬러 영상 형식으로 불러와 img에 저장합니다.

23~24행 img 영상을 그레이스케일 형식으로 변환하여 gray에 저장합니다.

26~27행 gray 영상을 오츠 알고리즘으로 자동 이진화하여 bin에 저장합니다.

29~30행 bin 영상에서 모든 객체의 바깥쪽 외곽선을 검출합니다.

32행 검출된 각 객체의 외곽선 좌표를 pts 변수로 참조하면서 for 반복문을 수행합니다.

33~34행 외곽선이 감싸는 면적이 400보다 작으면 잡음으로 간주하여 무시합니다.

36~37행 pts 외곽선을 근사화하여 approx에 저장합니다.

39행 approx에 저장된 외곽선 점의 개수를 vtc에 저장합니다.

41~42행 근사화된 외곽선의 꼭지점 개수가 3이면 외곽선 주변에 바운딩 박스를 그리고 “TRI” 문자열을 출력합니다.

43~44행 근사화된 외곽선의 꼭지점 개수가 4이면 외곽선 주변에 바운딩 박스를 그리고 “RECT” 문자열을 출력합니다.

45~52행 객체의 면적 대 길이 비율을 조사하여 원에 가까우면 외곽선 주변에 바운딩 박스를 그리고 “CIR” 문자열을 출력합니다.

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