如何使用android和OpenCV将叠加层附加到检测到的对象

时间:2015-02-01 14:29:35

标签: android opencv detect opencv4android

我正在为我的主人使用OpenCV编写一个Android应用程序,这将类似于游戏。主要目标是在选定区域检测汽车。检测汽车时将随机触发“奖品”。当用户点击正确的汽车时,我想在屏幕上显示3D对象覆盖并将其附加到汽车的中间并保持在那里,这样当用户改变他在汽车上的视角时,对象将从不同角度也可以看出。

此刻,除了附加物体外,我还有一切。我已经创建了检测,我正在绘制3D叠加层,我创建了允许我旋转相机等的功能。但是我没有任何线索如何将叠加层附加到特定点。因为我没有这个我没有意义重新计算渲染器来改变叠加视角。

拜托,我真的需要一些帮助,即使是一个小小的想法也没关系:

如何将叠加层附加到现实世界中的特定

1 个答案:

答案 0 :(得分:0)

(对不起,我无法发表评论。至少需要50分才能做到......:P)

我假设您的汽车图像来自相机Feed,而您正在使用opengl绘制3D汽车。如果是这样,那么你可以试试这个:

  • 您可以将opengl图层的像素格式设置为RGBA_8888,这样就可以将opengl相机的背景设置为透明色。
  • 您将相对布局作为活动的布局。
  • 首先将opencv相机布局添加为全高和宽度。
  • 然后将opengl图层添加为完整的高度和宽度。
  • 你从opencv图层获得真实汽车的位置作为像素值或你做过的事情。
  • 然后将其缩放到您的opengl参数,以便您可以在正确的位置绘制它。
它对我有用。希望它也适合你。