그래서 당신은 당신의 얼굴과 이미지의 ROI를 정의하는 사각형을 둘러싸는 사각형을 가지고 (I는 C++과 OpenCV의 2.4.3을 사용하고 있습니다). 얼굴이 ROI로 들어가는 지 확인하려면 두 개의 직사각형이 교차하는지 확인해야합니다. 이를 수행하는 가장 쉬운 방법은 여기에 설명 된대로 cv :: Rect_의 오버로드 된 연산자 &을 사용하고 결과 rect의 영역이> 0인지 확인하는 것입니다.
예제 코드는 다음과 같습니다. 당신은 얼굴이 일정 비율로 투자 수익 (ROI)를 입력하려면
cv::Rect r1(0, 0, 10, 10);
cv::Rect r2(5, 5, 10, 10);
if ((r1&r2).area())
{
// rects intersect
}
, 당신은 모두 입력 영역의 minimun로 교차 영역을 비교할 수 있습니다
cv::Rect r1(0, 0, 10, 10);
cv::Rect r2(5, 5, 10, 10);
double minFraction(0.1);
if ((r1&r2).area() > minFraction * std::min(r1.area(), r2.area()))
{
// rects intersect by at least minFraction
}