在OpenCV中是否有类似cv::Mat::contains(cv::Rect)
的东西?
背景: 在将对象检测为轮廓并尝试使用cv::boundingRect访问ROI时,我的应用程序崩溃了。好的,这是因为靠近图像边界的对象的边界矩形可能不完全在图像内。
现在通过以下检查跳过未完全位于图像内的对象:
if(
cellRect.x>0 &&
cellRect.y>0 &&
cellRect.x + cellRect.width < m.cols &&
cellRect.x + cellRect.width < m.rows) ...
我希望有一个专门的OpenCV函数来完成这个任务,其中cellRect是对象的边界矩形,m是图像。
(rect&rect_mat)
将创建一个新的Mat对象,并且==将比较所有单元格。这肯定比获取和比较4个数字x,y,w,h要慢。 - Valentin HMat
,而是创建一个新的Rect
,它基本上只是4个数字(x、y、宽度、高度)
。所以它应该相对较快。 :P - herohuyongtao&
周围是很重要的。如果没有它,我会得到一个无意义的错误。 - Burak