卢卡斯卡纳德密集的光流

时间:2013-05-23 15:39:14

标签: opencv

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

[编辑]

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

答案 1 :(得分:2)

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

有一个带有金字塔的稀疏迭代Lucas-Kanade方法的实现(特别是来自this paper)。该函数名为calcOpticalFlowPyrLK,您可以通过buildOpticalFlowPyramid构建关联的金字塔。但请注意,它确实指定它用于稀疏特征集,因此如果您需要密集的光流,我不知道会给您带来多大的差异。