1

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

目前,除了附加对象外,我拥有一切。我已经创建了检测,我正在绘制 3D 叠加层,我已经创建了允许我旋转相机等的函数。但是我不知道如何将叠加层附加到特定点。因为我没有这个我没有必要重新计算渲染器来改变覆盖透视图。

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

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

4

1 回答 1

0

(抱歉,我无法发表评论。至少需要 50 分才能做到这一点......:P)

我假设您的汽车图像来自摄像头,并且您正在使用 opengl 绘制 3d 汽车。如果是这样,那么你可以试试这个:

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

它对我有用。希望它也适合你。

于 2015-02-10T06:12:04.007 回答