0

我对 C++ 和开放框架相当陌生。我开始使用 Lucas Kanade 技术来操作对象。我在推动物体方面取得了一些成功,但不幸的是,我无法弄清楚如何正确旋转它们,甚至无法检测到何时发生旋转运动。

有没有人想分享任何指示或提示?

非常感谢,N

4

2 回答 2

2

光流计算本身并不能帮助您检测诸如“旋转运动”之类的东西。基本上,光流计算所做的就是逐个像素地查看变化,而旋转的意思是更大的像素变化聚合。一种算法需要检测诸如“对象边缘的所有像素都以(逆)顺时针方向流动”之类的东西。很难做到,而且我认为 OpenFrameworks 或 OpenCV 中没有任何东西可以帮助您。

您是在尝试检测图像中物体的旋转,还是图像中会影响虚拟物体的旋转运动?如果是前者,我认为有 OpenCV 技术可以识别对象然后跟踪它们,包括旋转之类的东西。我认为要研究的东西就像“opencv object tracking”和“opencv object motion analysis”。

于 2011-05-27T16:47:20.973 回答
0

计算运动的 2x3 仿射变换矩阵可能是一种解决方案。仿射变换矩阵包含平移和旋转运动至缩放。如果您使用的是 OpenCV,那么 cv::getAffineTransform 就是您要寻找的,您可以在其中直接输入跟踪的特征点。

于 2013-02-10T21:11:23.393 回答