1

带功能

 cvMeanShift(&backproj, trackWindow,cvTermCriteria( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 15, 1 ),&track_comp);

我可以得到一个矩形,aux=track_comp.rect;

但是有了这个

RotatedRect trackBox = CamShift(backproj, trackWindow,TermCriteria( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 10, 1 )); 

我怎样才能得到一个矩形?不是旋转的矩形。

4

1 回答 1

1

文档不清楚,但该CamShift函数修改trackWindow为对象的最新位置。(trackWindow通过引用传递)。您应该使用相同的trackWindow变量来初始化下一帧的跟踪。

trackbox.boundingRect()结果与Rect写给 的内容不同trackWindowtrackbox.boundingRect()Rect写入的要大trackWindow

此答案适用于 opencv 2.4.5.0 及更高版本。它可能适用于所有 opencv 2.0 及更高版本,但我尚未验证这一点。

于 2013-06-07T01:58:32.177 回答