如何从cvCalcOpticalFlowPyrLK中提取像素的速度矢量

时间:2013-07-07 23:56:21

标签: opencv opticalflow

有人可以帮我从OpenCV的cvCalcOpticalFlowPyrLK获取每个像素的速度信息吗?

1 个答案:

答案 0 :(得分:0)

查看openCV代码也可用的示例(https://github.com/Itseez/opencv/blob/master/samples/cpp/lkdemo.cpp)。

超级摘要摘要:

calcOpticalFlowPyrLK稀疏,因此需要点来计算光流量。 使用goodFeaturesToTrack初始化点(将图像和空点矢量作为输入(加上文档中提供的一些参数))

然后使用cornerSubPix来细化点位置(拍摄图像和全点矢量(以及其他参数))

最后加载一个新图像并在前一个图像上初始化的点上运行calcOpticalFlowPyrLK(拍摄两个图像(此图像和上一个图像)和一个完整的空点矢量(对应于上一个图像中的点和这个)。(您可能不需要为下一个图像初始化点,而是使用calcOpticalFlowPyrLK提供的点)

点位置的差异除以图像之间的时间,可以得到速度。

但请查看示例以获取详细信息