OpenCV光流时间到达问题

4
我正在尝试使用C++和OpenCV编写程序,计算与对象碰撞的剩余时间(帧)。我有一个向黑板移动的摄像机作为样本视频。
我的方法如下:
1.检测要跟踪的特征(尝试goodFeaturesToTrack()或手动设置点)
2.通过calcOpticalFlowPyrLK()计算光流
3.通过findFundamentalMat()计算先前和当前找到的特征的基础矩阵
4.检查基础矩阵是否正确
5.计算极线和极点-视频中的扩展焦点
最后,我计划使用时间接触法计算剩余帧数直到碰撞发生。
到目前为止,我最大的问题是找到正确的基础矩阵,因此极点的计算也是错误的。我的计算矩阵似乎是错误的,极线也是如此。我的计划方法是否正确?是否有任何有效示例可以从视频中获取FoE或任何解决方法?
非常感谢您的帮助!
谢谢!
1个回答

0

我认为LK光流只能检测2D流动。虽然原则上你可以从图像的一部分(即第一象限)中推断出运动信息,但基本矩阵需要一对立体图像,而不是连续的图像。

就我所知,我不知道解决你问题的完美步骤。但我认为研究“运动结构”可能会有所帮助,因为这种技术可以解决从运动中创建三维数据的问题,但不需要立体相机对。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接