0

我有两个点 top_left 和 bottom_right 。为了增加从这些点绘制的矩形所覆盖的区域,我从它们中添加/减去子值。

Point  top_left     -= Point( WIDTH_ADD,  HEIGHT_ADD);
Point  bottom_right += Point(WIDTH_ADD , HEIGHT_ADD );

现在我需要检查它们是否超出当前帧的边界(从相机捕获)。如果他们这样做,我需要检查并修改他们的值。

if ( top_left.x < 0 )           top_left.x = 0;
if (  bottom_right.x > frame.cols ) bottom_right.x = frame.cols; 
if ( top_left.y < 0 )               top_left.y = 0;
if( bottom_right.y >  frame.rows )      bottom_right.y = frame.rows; 

在 opencv 中有什么花哨的方法吗?

4

1 回答 1

1

我不知道,但即使有,您的代码可能会更快,因为您至少跳过了对 OpenCV 的函数调用。

于 2013-02-01T16:13:33.953 回答