【问题标题】:to find motion vector from 10 previous frames从前 10 帧中找到运动矢量
【发布时间】:2015-07-10 12:22:09
【问题描述】:

我想通过将帧划分为 8x8 子块来从前 10 帧中找到运动矢量,并将当前帧的每个块与前 10 帧的相邻块进行比较。

我可以用单帧进行操作,但我觉得处理 N 帧很难。

如果有人知道我需要 opencv/c++ 中这个模块的代码,我需要其他人的帮助。

提前致谢

【问题讨论】:

  • -1 您需要发布一个特定的问题、您尝试的代码、您遇到的错误。但是,您为什么不简单地使用光流来查找运动矢量呢?
  • 如果你想使用块匹配,是什么阻止你比较 2 个任意图像(距离 1、2、3 等无关紧要)

标签: opencv computer-vision


【解决方案1】:

我相信你问的是光流。

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

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

如果这些算法中的任何一个似乎有效,您可以找到一些示例代码(可能只是通过谷歌搜索“opencv c++ 光流示例”)并从那里开始工作。

【讨论】:

猜你喜欢
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多