【发布时间】:2013-10-24 06:38:11
【问题描述】:
我正在寻找一种简单的算法来检测整个输入的光流。 在 OpenCV 中,Lucas-Kanade 点跟踪功能非常好,但是对于超过少数几个点来说它非常慢。我正在寻找基于图像的结果,而不是基于点的结果。我能找到的唯一信息是关于 LK 跟踪的信息。
我可以根据简单的帧差计算运动的幅度,但我也想知道方向。我基本上想得到一个光流场纹理,我可以将其输入到 gpu 流体模拟中。
必须有一些基于基本运动检测器或其他东西的简单算法。类似于帧差分、缩放和模糊与 3 个连续帧的组合。
为了非常清楚,我不想要有关 Lucas-Kanade 方法的信息。
【问题讨论】:
-
Horn-Schunck 方法怎么样?
-
我是在 C++ 中使用来自here 的 calcOpticalFlowFarneback 完成的。在可视化过程中使用 cv::split 和 cv::merge 操作 HSV 平面和 cv::Mat.convertTo。
标签: c++ opencv image-processing motion-detection