Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用android和OpenCV将覆盖附着到检测到的对象_Android_Opencv_Detect_Opencv4android - Fatal编程技术网

如何使用android和OpenCV将覆盖附着到检测到的对象

如何使用android和OpenCV将覆盖附着到检测到的对象,android,opencv,detect,opencv4android,Android,Opencv,Detect,Opencv4android,我正在为我的大师们编写一个使用OpenCV的android应用程序,这将有点像一个游戏。主要目标是检测选定区域内的车辆。“奖品”将在检测车辆时随机触发。当用户点击合适的汽车时,我想在屏幕上显示一个3D对象叠加,并将其连接到汽车中间,并保持在那里,这样当用户改变他在汽车上的视角时,也可以从不同的角度看到对象 目前,除了连接对象之外,我还有其他一切。我已经创建了检测,我正在绘制3D叠加,我已经创建了允许我旋转相机等的功能。但是我不知道如何将叠加附加到特定点。因为我没有这个,我没有必要重新计算渲染器来

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

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

求你了,我真的需要一些帮助,哪怕是一个小主意都可以:

在现实世界中,如何将覆盖层附加到特定的上(抱歉,我无法发表评论。至少需要50分才能完成…:p)

我假设您的汽车图像来自摄像头,您正在opengl中绘制3d汽车。如果是,那么您可以尝试以下方法:

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