AR应用开发--EasyAR初体验(新手向)
作者:hwj3747
转载请注明
说明
随着智能化技术的火爆,可以预见:AR,VR,人工智能等技术将逐渐成为未来科技发展的潮流!但是这些技术的技术壁垒是相当高的,对于小白来说,难度着实太大,好在已经有一些公司开始提供SDK供用户集成使用。今天要讲的是一个国内相对来说比较成熟的AR SDK产品:EasyAR。目前EasyAR已经更新到2.0,但是可惜的是官网上的开发文档还是不够完善,只能自己慢慢摸索。下面会结合本人集成经验,讲解Android端如何集成EasyAR SDK。
EasyAR简介
百度EasyAR官网,可以看到以下5个部分:
image.png- 产品:EasyAR产品分为两个EasyAR SDK和EasyAR CRS,其中EasyAR SDK 基础版提供开发AR的基本SDK,是免费的。EasyAR SDK
PRO版提供3D物体识别功能以及录屏功能,是收费的。EasyAR CRS云服务提供云图库功能,也是收费的。 - 支持:里面提供了1.3版本的EasyAR SDK以及EasyAR CRS的文档,2.0暂未提供。
- 下载:分为Basic版以及PRO版,并且每个版本又可以分为Unity版本以及非Unity版本。这里的Unity版本是指用Unity3D开发识别后的AR内容,非Unity是指用openGL开发识别后的AR内容。(对于新手来说,据说Unity3D会更好学一点)
- 开发:这里是工作台,在这边创建应用,得到key,在应用内填入key,就可以使用这个应用了。
- 社区:这边就是官方的开发者交流平台,不过蛮冷清的就是了。
配置EasyAR开发环境
进入官网,点击支持->入门指南->配置EasyAR Android SDK(非Unity)
可以看到官方要求的环境:
- JDK 1.7 或更新版本
- Android Studio 1.5 或更新版本
- Android NDK r10e
- Android SDK with Build Tools 至少需要版本20.0.0
-
Android API 23 (可从Android SDK Manager中下载)
其他的应该都比较简单,这里着重讲一下NDK的配置。首先,需要下载Android NDK r10e或更高版本,一般是exe版本直接打开,就会在本目录下有一个Android NDK r10e的目录。打开Android Studio,进入Project
Structure,在Android NDK location选择NDK目录即可。
Project Structure
EasyAR Demo
如果仅仅是按照官网配置SDK的方法配置,就仅是集成了SDK而已,怎么用还是不明白,所以直接从demo入手。进入官网,点击下载,下载EasyAR_SDK_2.0.0_Basic_Samples_Android,这里面包含了,Basic,PRO,以及CRS版本。
Basic版本包含一下几个demo:
- HelloAR
- 演示如何使用Java API创建第一个EasyAR应用
- 演示创建target的不同方法
- HelloARCpp
- 演示如何使用C++11 API创建第一个EasyAR应用
- 演示创建target的不同方法
- HelloARCppNonstd (Android only)
- 演示如何使用traditional C++ API创建第一个EasyAR应用
- 演示创建target的不同方法
- HelloARCppVS (Android only)
- 演示如何使用C++11 API及Visual Studio 2015或更新版本创建第一个EasyAR应用
- 演示创建target的不同方法
- HelloARVideo
- 演示如何使用EasyAR加载并在target上播放视频
- 演示本地视频播放
- 演示透明视频播放
- 演示流媒体视频播放
- HelloARMultiTarget_SingleTracker
- 演示如何使用一个tracker同时跟踪多个目标
- HelloARMultiTarget_MultiTracker
- 演示如何使用多个tracker同时跟踪多个目标
- HelloARMultiTarget_SameImage
- 演示如何同时跟踪多个相同目标
- HelloARQRCode
- 演示如何同时检测二维码并跟踪目标
运行Demo HelloAR
首先直接import HelloAR,这时候会有很多错误,不用理会,然后打开
gradle-wrapper.properties,将你的环境的gradle配置复制进去,具体做法:新建一个工程,打开gradle-wrapper.properties,将里面的内容复制到HelloAR的gradle-wrapper.properties文件里。
接下来,打开工程目录下的build.gradle文件,修改gradle版本为你环境的gradle版本,方法同上
image.png接下来打开app目录下的build.gradle文件,修改compileSdkVersion,buildToolsVersion以及下面的appcompat-v7的版本,方法同上。
image.png最后登录官网,点击开发进入后台,新建一个应用,输入应用名和包名,得到2.0的SDK的key值:
image.png打开HelloAR的MainActivity,输入刚才得到的key值。
image.png点击同步,这样就可以运行了。
Demo效果展示
在assert目录下放着所有能被识别到的图,这里称作Target。
- 创建基础target
- HelloAR
- HelloARCpp
- HelloARCppNonstd (Android only)
- HelloARCppVS (Android only)
这4个demo演示的是用不同的方法创建一个target,例如一张身份证照片,然后在身份证上显示一个OpenGL绘制的立体图像。具体效果都是一样的,效果如下:
- 在Target上播放视频
- HelloARVideo
这个demo演示的是在创建的Target上播放视频的功能,效果如下:
- 同时跟踪多个相同目标
- HelloARMultiTarget_SingleTracker
- HelloARMultiTarget_MultiTracker
- HelloARMultiTarget_SameImage
这3个demo演示的是同时识别多个相同或不同目标(Tracker代表可以识别的目标库),其效果基本一样,如下:
- 识别二维码同时跟踪目标
- HelloARQRCode
这个demo演示的是在识别目标图片的同时,识别出二维码,并且打印二维码日志。效果如下: