본문 바로가기

카테고리 없음

OpenCV C++ ROI 밖으로 나가는지 검사하기

void CheckRoiBoundary(Rect& roi, const int& image_width, const int& image_height)
{
    if (roi.x < 0)
        roi.x = 0;
    if (roi.y < 0)
        roi.y = 0;
    if ((roi.x + roi.width) > image_width)
        roi.width = image_width - roi.x;
    if ((roi.y + roi.height) > image_height)
        roi.height = image_height - roi.y;
}

ROI의 x나 y가 이미지 밖으로 잡힐 순 있으나, 그 상태로 다른 작업을 수행하게 되면 오류가 난다. 이런 작업을  방지하기 위해 밖으로 나가는 것들을 처리해주는 코드이다.