基于OpenCV图像的光流场
OpenCV image-based optical flow field
我正在寻找一种简单的算法来检测整个输入的光流。在OpenCV中,Lucas-Kanade点跟踪功能非常好,但是对于几个点来说非常慢。我正在寻找基于图像的结果,而不是基于点的结果。我能找到的唯一信息是关于LK跟踪的信息。
我可以根据简单的帧差分来计算运动的大小,但我也想知道方向。我基本上想得到一个光流场纹理,我可以将其输入到 GPU 流体模拟中。
必须有一些基于基本运动检测器或其他东西的简单算法。类似于帧差分、缩放和模糊与 3 个连续帧的组合。
为了非常清楚,我不想要有关卢卡斯-卡纳德方法的信息。
OpenCV 有一个 BackgroundSubtractor 类可以进行帧差分,我想你必须自己做模糊部分。然而,这并非严格意义上的光流计算。
Farneback有一种密集光流的方法,通过cv::calcOpticalFlowFarneback(..)方法在OpenCV中实现。它将生成一个矩阵"流",该矩阵具有大小和方向分量。Horn-Schunck方法不是OpenCV中的内置方法。
PS:卢卡斯·卡纳德不是很慢。可能是特征点的提取很慢。尝试使用 cv::FAST 检测器。
相关文章:
- 如何使用像Farneback这样的密集光流方法跟踪稀疏特征?
- 使用光流面对地标和稳定
- 在光流路的场周围创建边界框
- 如何分离光流中的匹配点
- 运行光流跟踪时,在每个帧中的点之间绘制一条线
- 查找每个像素 OpenCV 的光流
- OpenCV 中的光流颜色图
- 光流opencv中的错误
- 基于光流的图像分割
- 使用opencv的光流
- 基于OpenCV图像的光流场
- 我的 opencv 光流代码没有好的结果
- 如何将光流矢量仅应用于检测到的圆
- 使用光流进行特征跟踪
- 使用光流的OpenCV跟踪
- OpenCV时间接触光流
- 阵列涡旋流场
- 用opencv计算光流
- 流式图像序列与Live555
- Opencv光流跟踪:停止状态