OpenCV 接触光流的时间
Posted
技术标签:
【中文标题】OpenCV 接触光流的时间【英文标题】:OpenCV time to contact with optical flow 【发布时间】:2013-06-07 11:02:43 【问题描述】:我正在尝试使用 C++ 和 OpenCV 编写一个程序,以计算与对象发生碰撞之前的剩余时间(帧)。作为示例视频,我有一个相机朝着黑板移动。
我的方法如下:
-
检测要跟踪的特征(尝试 goodFeaturesToTrack() 或“手动”设置点)
通过 calcOpticalFlowPyrLK() 计算光流
通过 findFundamentalMat() 计算先前和当前找到的特征的基本矩阵
检查基本矩阵是否正确
计算极线和极线 - 视频中展开的重点
最后,我打算使用接触时间方法来计算碰撞前的剩余帧数。
到目前为止,我最大的问题是找到正确的基本矩阵,从而找到极点。计算出的矩阵似乎是错误的,极线也是如此。我计划的方法是否正确?有没有人有一个从视频中获取 FoE 的工作示例或关于我必须做什么的任何类型的演练?
如果有任何帮助,我都会非常高兴!
谢谢!
【问题讨论】:
【参考方案1】:我认为 LK 光流只会检测 2D 流。虽然原则上您可以从图像的一部分(即第一象限)的运动中推断出信息,但基本矩阵需要一对立体图像,而不是连续图像。
从我的脑海中,我不知道解决您的问题的完美步骤。但我在想从运动中研究结构可能会对您有所帮助,因为这种技术解决了在没有立体相机对的情况下从运动中创建 3 维数据的问题。
【讨论】:
以上是关于OpenCV 接触光流的时间的主要内容,如果未能解决你的问题,请参考以下文章