为了账号安全,请及时绑定邮箱和手机立即绑定

OpenCV 中是否有任何函数可以计算两个图像的每块运动矢量?

OpenCV 中是否有任何函数可以计算两个图像的每块运动矢量?

拉丁的传说 2022-11-29 15:16:23
我正在寻找一种 Opencv 方法或一种方法来计算两个连续图像的每块运动矢量。
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

您对另一个答案的评论

这包含密集(每像素)运动估计和每个特征估计。每块估计没有什么

让我(也许是错误地)认为您正在寻找一个函数,它的存在实际上没有意义:假设您预先定义了具有所需粒度的块,您将如何计算每个块的流量?有两种可能性:

  • 计算整个图像上的稀疏 ( cv.calcOpticalFlowPyrLK()) 或密集 ( cv.calcOpticalFlowFarneback()) 流,并对每个块的结果进行平均/下采样(之后进行一些平滑处理)。

  • 计算某种“块流”(这似乎是您的想法),您可以在其中定义使用某些统计信息(或特征)表达的更高级别的块或超像素,并计算它们的流。在那种情况下,您可能会违反大多数流方法所依赖的亮度恒定性假设,即使您不这样做,这也很可能类似于在非常低分辨率的图像上计算密集流,在这种情况下,同样,可以通过cv.calcOpticalFlowFarneback().

    如果您在流估计管道中学习更高级别的块,那么使用它们是有意义的,但这里不是这种情况,因为它们是预定义的。

第二种方案在这里意义不大,第一种方案只是简单的后期处理,看用户需求。


查看完整回答
反对 回复 2022-11-29
?
MM们

TA贡献1886条经验 获得超2个赞

也许这可以帮助你Optical Flow OpenCV


查看完整回答
反对 回复 2022-11-29
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信