使用 OpenCV 比较连续帧以确定运动方向

Posted

技术标签:

【中文标题】使用 OpenCV 比较连续帧以确定运动方向【英文标题】:Compare consecutive frames to determine direction of motion using OpenCV 【发布时间】:2013-09-09 21:26:58 【问题描述】:

我需要将每一帧与前一帧进行比较,并确定运动发生的方向。仅通过获取两个帧之间的差异就可以做到这一点吗?它是否适用于约 2 m/s 的慢动作? 另外,如何使用相同的方法计算运动方向?

【问题讨论】:

【参考方案1】:

你应该阅读optical flow analysis。

【讨论】:

使用 goodFeaturesToTrack() 会产生非常低的帧速率。 FAST 也没有做得更好。有什么建议吗? FAST 非常非常快。不过,接下来的处理步骤取决于您选择的特征数量。那可能是你的问题。尝试更改 FAST 的阈值(例如,使用 60 作为其参数),或选择更少的特征。 ORB 允许您选择将要选择的功能的数量。 是的,FAST 真的很快。缓慢是因为其他原因。 相机快速移动时未检测到关键点。【参考方案2】:

你也应该阅读SLAM。

【讨论】:

OpenCV中有SLAM的实现吗?

以上是关于使用 OpenCV 比较连续帧以确定运动方向的主要内容,如果未能解决你的问题,请参考以下文章

确定圆周运动的方向

在opencv中读取视频文件的连续图像

使用Python,OpenCV追踪对象的轨迹,来确定其移动方向

为啥这个运动检测代码不起作用?

在 OpenCV 中用渐变颜色绘制一条线

如何使用适用于 Android 的 OpenCV 减少实时视频序列中的运动效果?