python - 如何使用 tvl1 opencv 函数计算光流

标签 python opencv opticalflow

我正在尝试寻找使用 tvl1 opencv 函数 createOptFlow_DualTVL1 计算光流的 python 示例,但似乎没有足够的文档。

有人可以让我这样做吗?我使用了此处提到的 calcOpticalFlowFarneback http://docs.opencv.org/master/d7/d8b/tutorial_py_lucas_kanade.html但它没有给我准确的结果,tvl1 是否足够好,如果不够好,我应该寻找另一种方法吗?

[[编辑]]

我有一些区域来自选择性搜索,我只想保留其中有运动的区域,因此可以计算给定帧的 OF,然后获取每个区域的平均值。此 paper 中也对其进行了描述第 3.1 节

谢谢。

最佳答案

更改此行(http://docs.opencv.org/master/d7/d8b/tutorial_py_lucas_kanade.html 中的密集光学示例):

flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

通过这些:

optical_flow = cv2.DualTVL1OpticalFlow_create()
flow = optical_flow.calc(prvs, next, None)

参数说明可以在这里找到: http://docs.opencv.org/3.3.0/dc/d47/classcv_1_1DualTVL1OpticalFlow.html

关于python - 如何使用 tvl1 opencv 函数计算光流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871443/

相关文章:

opencv - 光流簇的重心

python - 正确地将自己的功能应用于分组的 Pandas 数据框

python - numpy 和全局解释器锁

Opencv 2.4.5 报错

python - “good_new = p1[st==1]”在OpenCV中的Lucas-Kanade Optical Flow代码中意味着什么

python - cv2.calcOpticalFlowPyrLK 添加新点

Python 调用函数

python - python- youtube。获取网址视频列表

opencv - 逆透视映射 -> 何时不失真?

python - 使用opencv和python将图像转换为值(例如十六进制代码)