[OpenCV/java] MatOfRect란 무엇인가?

프로그래밍/그 외2018. 4. 15. 16:18

안녕하세요. 개발자 드리머즈입니다.


MatOfRect에 대해 찾아봤습니다. Mat을 상속받아 만들어진 클래스네요.(https://docs.opencv.org/java/2.4.9/org/opencv/core/MatOfRect.html)


1
2
3
4
5
MatOfRect eyes = new MatOfRect();
 
clasificator.detectMultiScale(mROI, eyes1.152, Objdetect.CASCADE_FIND_BIGGEST_OBJECT|Objdetect.CASCADE_SCALE_IMAGE, new Size(3030), new Size());
 
Rect[] eyesArray = eyes.toArray();
cs

위의 코드에서와 같이 detectMultiScale 함수의 인자로 사용됩니다.

검사하고자 하는 이미지 mROI에서 찾고자 하는 object를 찾으면 eyes에 반환을 하게 됩니다. 그런데 하나의 이미지에도 찾고자 하는 이미지가 여러개 있을 수 있습니다. 그래서 eyes에도 여러개의 검출된 이미지가 담길 수 있습니다. 검출된 이미지에 하나하나 접근하기 위해서는 eye.toArray()함수를 써서 Rect 배열을 구하고 이 배열에 접근하면 됩니다.


MatOfRect에서 Mat은 matrix를 의미합니다. matrix의 1번째 뜻은 아래와 같습니다.


(숫자・기호 등을 가로, 세로로 나열해 놓은) 행렬[매트릭스]


그래서 MatOfRect는 Rect형의 배열? 행렬?이라는 뜻을 가집니다. MatOfRect말고 MatOfPoint등 다른 클래스들도 존재합니다.

작성자

Posted by 드리머즈

관련 글

댓글 영역