2015-07-10 41 views
-1

我想要通过划分帧入8×8子块,以找到从以前的10帧的运动矢量和当前帧的每个块与以前的10个帧的相邻块进行比较发现运动矢量。从10个先前帧

我可以做的操作与单个帧,但我觉得很难用N多帧的工作。

我需要别人的帮助,如果任何人知道我需要这个模块的代码在OpenCV中/ C++。

在此先感谢

+0

你可以试试https://github.com/Itseez/opencv/blob/2.4.10.x-prep/samples/c/motempl.c –

+1

-1你需要发布一个具体的问题,你试过的代码,你有错误。但是,您为什么不简单地使用光流寻找运动矢量? – Miki

+0

如果你想使用块匹配,什么阻止你比较2个任意图像(距离1,2,3等不重要的IMHO) – Micka

回答

0

我相信你问的是光流。

目前two quick and easy methods for optical flow in Python。这不是C++,但你可以从那里开始,看看它是否做到了你想要的。

  1. Lucas-Kanade,它使用从您选择的算法(SIFT,SURF,ORB,BRISK,BRIEF等等)中找到的特征描述符。我链接的例子使用Shi-Tomasi。所有这些点都是从帧到帧的跟踪。
  2. 由Farneback提供的密集光流,它给出了图像中每个像素的运动。该算法为您提供了更多信息,但计算时间更长。

如果其中任何一种算法似乎都有效,您可以找到一些示例代码(可能只是通过Google搜索“opencv C++光学流程示例”)并从那里开始工作。