1

OpenCV 可以使用 Lucas Kanade 方法计算密集光流吗?我知道 gpu/ocl 模块中可以做到这一点的功能(gpu::PyrLKOpticalFlow::dense),但是是否有非 gpu 等效于该功能?

我也知道 Farneback 和 TV L1,但我的研究需要 LK / 金字塔形 LK。

4

2 回答 2

3

不,实际上没有好的密集光流提取方法。我面临同样的问题(光流上的粒子平流,对吧?)

有一个函数可以使用 Farneback 方法 [ 1 ] 评估光流,但它给了我不好的结果。它不使用 ocl 也不使用 gpu。

您可以尝试使用phaseCorrelate基于移位的算法来提取它。我用过这个方法。当我将它上传到github时,我会给你链接。

[编辑]

这是代码。我决定将相位相关算法从整个项目中分离出来,以使其更易于理解: https ://github.com/MatteoRagni/OpticalFlow 如果您打算使用它,请加注星标。

于 2014-01-08T21:44:51.237 回答
2

您可以在此处找到 OpenCV 非 gpu 视频分析功能文档

有一个带有金字塔的稀疏迭代 Lucas-Kanade 方法的实现(特别是来自本文)。该函数被调用calcOpticalFlowPyrLK,并且您通过 构建相关的金字塔buildOpticalFlowPyramid。但是请注意,它确实指定它用于稀疏特征集,所以我不知道如果您需要密集的光流,这会对您产生多大的影响。

于 2013-05-23T18:02:26.937 回答