Prerequisite : 윤곽선 길이 구하기
바운딩 박스
바운딩 박스란 윤곽선을 외접하여 둘러싸는 가장 작은 사각형을 의미한다. OpenCV에서는 boundingRect라는 함수를 통해 바운딩 박스를 구할 수 있다.
Imgproc.boundingRect(contour)
contour: 외곽선 정보(좌표)
반환값: 사각형 정보(Rect);(x,y,w,h) 정보를 포함
boundingRect함수를 이용하여 이미지내의 도형을 감싸는 예제를 살펴보자.
예제 코드:
val contours = ArrayList<MatOfPoint>() val hierarchy = Mat() // 이진화 이미지에서 윤곽선 찾기 Imgproc.findContours( binarySrc, contours, hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE ) for (i in 0 until contours.size) { // 윤곽선을 감싸는 최소 사각형 정보 val rect:Rect = Imgproc.boundingRect(contours[i]) // rect를 기반으로 사각형 그리기 Imgproc.rectangle(src, rect, RED) }
0개의 댓글