0

top_leftとbottom_rightの2つのポイントがあります。これらの点から描かれた長方形で覆われる領域を増やすために、これらの点から減算値を加算/減算します。

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 に答える