[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, eyes, 1.15, 2, Objdetect.CASCADE_FIND_BIGGEST_OBJECT|Objdetect.CASCADE_SCALE_IMAGE, new Size(30, 30), new Size()); Rect[] eyesArray = eyes.toArray(); | cs |
위의 코드에서와 같이 detectMultiScale 함수의 인자로 사용됩니다.
검사하고자 하는 이미지 mROI에서 찾고자 하는 object를 찾으면 eyes에 반환을 하게 됩니다. 그런데 하나의 이미지에도 찾고자 하는 이미지가 여러개 있을 수 있습니다. 그래서 eyes에도 여러개의 검출된 이미지가 담길 수 있습니다. 검출된 이미지에 하나하나 접근하기 위해서는 eye.toArray()함수를 써서 Rect 배열을 구하고 이 배열에 접근하면 됩니다.
MatOfRect에서 Mat은 matrix를 의미합니다. matrix의 1번째 뜻은 아래와 같습니다.
그래서 MatOfRect는 Rect형의 배열? 행렬?이라는 뜻을 가집니다. MatOfRect말고 MatOfPoint등 다른 클래스들도 존재합니다.
댓글 영역