【问题标题】:How to make motion history image for presentation into one single image?如何将用于演示的运动历史图像制作成一张图像?
【发布时间】:2012-08-15 06:14:43
【问题描述】:

我正在做一个手势识别项目。现在我想准备一个只能显示图像的演示文稿。我有一系列定义手势的图像,我想在单个图像中显示它们,就像在文献中显示运动历史图像一样。

我的问题很简单,我可以使用 opencv 中的哪些函数来制作运动历史图像,例如使用 10 个或更多定义手部运动的图像。

例如,我有以下图像,我想显示手的位置(不透明度直接取决于时间参考)。

我尝试使用 GIMP 合并具有不同不透明度的图层来做同样的事情,但是输出并不好。

【问题讨论】:

  • 我是 opencv 新手,所以不确定这是解决此问题的最佳方法,但也许您可以尝试循环多个图像并使用 addWeighted 添加到单个结果中。想到的另一个想法是使用background subtractor 及其学习背景的历史大小。

标签: c++ opencv kinect depth openni


【解决方案1】:

你可以使用cv::updateMotionHistory
其实OpenCV也演示了samples/c/motempl.c中的用法

【讨论】:

  • updateMotionHistory 仅适用于单通道图像。我可以使用 addWeighted 函数做到这一点。
  • 看来你想要的只是 alpha 混合所有图像。 updateMotionHistory 可以做的还不止这些,它可以提取运动的方向。
猜你喜欢
  • 2016-04-02
  • 1970-01-01
  • 2018-10-16
  • 2019-04-22
  • 1970-01-01
  • 2011-05-21
  • 2013-09-04
  • 1970-01-01
  • 2012-09-10
相关资源
最近更新 更多