【opencv】16.截取图像中的一个roi区域时,判断该roi是否越界

在图像处理中,经常会遇到程序运行中断,直接报如下错误:
aaa
这是选取的roi不合法导致的越界。
可以加上上面提示的内容,进行合法性判断:

cv::Mat img;
cv::Rect roi(x,y,w,h);
bool is_rect =
    (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= img.cols &&
     0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= img.rows);
if (is_rect) {
    
    
  // 合法时,进行截取roi的处理
  cv::imshow("roi",img(roi));
} else {
    
    
  // 不合法,此时continue、break或者return.
  continue;
}

猜你喜欢

转载自blog.csdn.net/u011754972/article/details/121378255
今日推荐