gpt4 book ai didi

c++ - 基于OpenCV图像的光流场

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:36 27 4
gpt4 key购买 nike

我正在寻找一种简单的算法来检测整个输入的光流。在 OpenCV 中,Lucas-Kanade 点跟踪功能非常好,但对于少数几个点来说速度非常慢。我正在寻找基于图像的结果,而不是基于点的结果。我能找到的唯一信息是关于 LK 跟踪的。

我可以根据简单的帧差计算运动的幅度,但我也想知道方向。我基本上想得到一个可以输入到 gpu 流体模拟中的光流场纹理。

必须有一些基于基本运动检测器或其他东西的简单算法。类似于帧差分、缩放和模糊与 3 个连续帧的组合。

非常清楚,我不需要有关 Lucas-Kanade 方法的信息。

最佳答案

OpenCV 有一个 BackgroundSubtractor做帧差异的类,我想你必须自己做模糊部分。然而,这并不是严格意义上的光流计算。

Farneback 有一个密集光流的方法,通过 cv::calcOpticalFlowFarneback(..) 在 OpenCV 中实现方法。它将生成一个具有大小和方向分量的矩阵“流”。 Horn-Schunck 方法不是 OpenCV 的内置方法。

PS:Lukas Kanade 不是很慢。估计是特征点的提取比较慢。尝试使用 cv::FAST 检测器。

关于c++ - 基于OpenCV图像的光流场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19558715/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com