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 接触光流的时间的主要内容,如果未能解决你的问题,请参考以下文章

Opencv 光流箭头

OpenCV 中的光流颜色图

OpenCV4中DIS光流算法与应用

使用光流的 OpenCV 跟踪

opencv光流法

带有opencv的Android光流