Android增强现实应用2-在自己的生活照片显示一个水壶

Android增强现实应用2-在自己的生活照片显示一个水壶

编程文章jaq1232025-02-01 16:02:0534A+A-

上一次利用vuforia 5.0演示了如何教开发者弄一个增强现实的应用在自己的手机上,这一节继续为大家做一个用自己的生活照片做识别,然后对着自己的生活照片就可以显示一个3D的水壶。如下图

为了可以让大家也体验一下,我这次上传了APK到网盘,如果还是不懂怎么开发的,可以体验一下,再慢慢摸索了。链接: http://pan.baidu.com/s/1mh1qApU 密码: qhtm,不过要注意一点,在使用的时候是要双击屏幕,然后选择datasets下的yeehot。不然的话,识别目标不是荔枝了,而是我们上一次的石头。识别图片我们可以打印出来

注:本节是以上一节为基础,如果遇到不懂的可以看回上一节,或者给我留言。收到我会尽快回复的。

第一步、创建一个识别图像目标,在vuforia官网上上传一张生活照片,我选择了家乡的荔枝,哈哈,如下图

打开vuforia创建识别图片的地址https://developer.vuforia.com/targetmanager/project/checkDeviceProjectsCreated?dataRequestedForUserId=,然后点击添加数据库,如下图所示

接着,选择设备模式,我们这里选择的是设备device,对于第二个是云服务的,我们这里暂时不用选择,输入数据库的名字后点击Device,如下图点击create后会出现一个识别图的选择,我们这里因为是生活相片,可以随便拍一张,所以选择single image,然后在file这一栏里面选择我们要识别的图片,我这里是选择了刚才提到的荔枝图片,你也可以选择一张自己的生活照片了。再输入宽度,我这里填入300,最后输入这个目标的名字。我这里随便填写一个。点击add之后就完成了。

此时,可以看到当前数据库的目录下多了一个识别目标图片,注意一定要看到这张图片的识别的星星等级数,如果等到的星星越少,就越难识别,甚至可能识别不出来,所以大家看这个等级数。我这里获得了5颗星,不错。

看到这个后,勾选我们创建好的目标。我这里是133,然后,点击download dataset,如下图

在下载的时候,首先会弹出要选择的平台,我们这里选择SDK,如下图

下载好后,会看到两个文件,后缀为.dat和.xml的文件。这两个文件等下需要用到。

第二步、首先打开上一节我们已经导入好的工程,再提醒一次,如果还不知道怎么导入,请查找我之前写的文章。这里假设大家已经打开上一节的工程了,我们把刚才的两个.dat和.xml文件复制到android项目的assets包下。如下图

第三步,这个需要修改我们项目的代码,这样程序会根据文件名来进行识别。我们在包

package com.qualcomm.vuforia.samples.VuforiaSamples.app.ImageTargets找到ImageTargets.java

如下图

在109行里面添加刚才下载的xml文件,我这里是yeehot.xml,在这里输入代码mDatasetStrings.add("yeehot.xml");,注意,这里的xml文件要最先添加,不然的话,我们默认识别出来的就不是刚才的生活照片,而是我们之前的石头。

接着,还要添加一个切换识别目标的选项。我们在643行添加一段这样的代码,目的是等下在识别的时候可以由我们上一节的例子的石头识别目标,切换成我们当前生活相片,group.addRadioItem("yeehot", mStartDatasetsIndex , false);然后后面的两个都数目都加1,完整代码如下

group.addRadioItem("yeehot", mStartDatasetsIndex , false);

group.addRadioItem("Stones & Chips", mStartDatasetsIndex+1, true);

group.addRadioItem("Tarmac", mStartDatasetsIndex + 2, false);

第四步,编译,生成Apk。

点击如下按钮。使用USB连接你的手机或者平板。注意要开启开发者模式,这里程序已经安装到你的手机上了

如果你的手机连接不上的话,点击android studio菜单栏build后,选择build apk,然后你可以通过其他方式传apk到你的手机。

这个时候会在你们项目的build目录的的Apk下生成apk的,可以复制传输到你的手机上。

第五步,好了,到这里基本大功告成了。我们运行程序,进入APP后,双击屏幕,看看是不是选择datasets下的yeehot。不然的话,识别目标不是荔枝了,而是我们上一次的石头。这里对着我们的荔枝图片,可以看到一个水壶了。

这一节就讲到这里了,下一节更加精彩,欢迎给我留言讨论。

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21