使用功能
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 ));
如何获得矩形?不是旋转的矩形。
答案 0 :(得分:1)
文档不清楚,但CamShift
函数将trackWindow
修改为对象的最新位置。 (trackWindow
通过引用传递)。您应该使用相同的trackWindow
变量来初始化下一帧的跟踪。
trackbox.boundingRect()
结果与Rect
写的trackWindow
不同。trackbox.boundingRect()
Rect
大于写入trackWindow
的{{1}}。
这个答案适用于opencv 2.4.5.0及更高版本。它可能适用于所有opencv 2.0及更高版本,但我还没有验证这一点。