OpenCV时间接触光流
OpenCV time to contact with optical flow
我试图用c++和OpenCV编写一个程序,计算剩余的时间(帧),直到与对象发生碰撞。作为一个示例视频,我有一个摄像机朝着黑板移动。
我的方法如下:
- 检测要跟踪的特征(尝试goodFeaturesToTrack()或设置点"by hand")
- 通过calcOpticalFlowPyrLK()计算光流
- 通过findFundamentalMat()计算先前和当前发现的特征的基本矩阵
- 检查基本矩阵是否正确
- 计算极线和极线-视频中扩展的焦点
最后,我打算使用时间接触法来计算碰撞前的剩余帧数。
到目前为止,我最大的问题是找到正确的基本矩阵,从而找到极点。计算的矩阵似乎是错误的,极线也是如此。我计划的方法是否正确?有没有人有一个从视频中获得敌人的有效例子,或者任何关于我必须做什么的演练?
任何帮助我都会很高兴的!
谢谢!
我认为LK光流只会检测2D流。虽然原则上您可以从图像的一部分(即第一象限)的运动中推断信息,但基本矩阵需要立体图像对,而不是连续的图像。
我一时想不出解决你的问题的最佳步骤。但是我在想从运动中研究结构可能会对你有所帮助,因为这种技术解决了从运动中创建三维数据的问题,但没有立体相机对。相关文章:
- 如何使用像Farneback这样的密集光流方法跟踪稀疏特征?
- 使用光流面对地标和稳定
- 在光流路的场周围创建边界框
- 如何分离光流中的匹配点
- 运行光流跟踪时,在每个帧中的点之间绘制一条线
- 查找每个像素 OpenCV 的光流
- OpenCV 中的光流颜色图
- 光流opencv中的错误
- 基于光流的图像分割
- 使用opencv的光流
- 基于OpenCV图像的光流场
- 我的 opencv 光流代码没有好的结果
- 如何将光流矢量仅应用于检测到的圆
- 使用光流进行特征跟踪
- 使用光流的OpenCV跟踪
- OpenCV时间接触光流
- 用opencv计算光流
- Opencv光流跟踪:停止状态
- opencv中的光流类(CalcOpticalFlowPyrLK)参数
- 溴氧化物密集光流跟踪器错误'EFilterIncompatibleSize'