OpenCV + AR播放器研究

AR游戏,Android ARCore与iOS ARKit。 AR,增强现实
  百度DuMix AR Android SDK基础版开发者文档- https://cloud.baidu.com/doc/AR/DuMixAR-Android-SDK.html#.86.54.E0.92.4B.31.4E.1B.C6.0D.15.BE.58.8A.47.F8
 用于 Web 的高效 AR 库 AR.js- https://gitee.com/mirrors/AR.js
  计算机视觉库包括FastCV、OpenCV、JavaCV等。opencv图像识别。
  相对来讲,OpenCV是一个较为成熟的视觉库,它包含了Harris、SURF、SIFT、FAST等算法,支持面向对象的C++ API,并可针对不同硬件进行优化,比如台式机、移动设备等。JavaCV则是封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库接口的库。如果开发的应用不需要增加用于处理图片的代码,那么可以使用JavaCV。FastCV是专为移动设备进行了优化的一款计算机视觉库。开发者可以使用FastCV建立的计算机视觉应用程序所需的框架,Qualcomm的增强现实(AR)SDK就是一个很好的例子。FastCV可以为开发者的应用添加更多基于摄像头的功能,比如手势识别、文本识别、增强现实,以及人脸检测、跟踪与识别。
  很多AR开发库的主要职责就是帮助你校准相机画面与虚拟场景的对应关系(可能还会有多个相机的联合标定,以及立体视觉),然后尽可能高效地实现某种方式的特征识别算法(Marker,二维码,图片,手、脸等人体特征,平面,等等)。很多时候我们也可以自己寻找这样的开源特征算法并且参考,进而加以己用。
  Markerless的识别和跟踪都没有现成的比较能用的开源代码,能找到的开源代码大多是基于Marker的,而且效率都很低。做AR识别和跟踪部分都需要自己开发。而此部分学习成本,开发成本都比较高。想达到高通的效率/准确度/robust 非常难。

> Google ARCore
  Google增强现实(AR)工具“ARCore”,Apple产品“ARKit” 。ARCore将利用Java,OpenGL和Unreal and Unity 3D游戏引擎,承诺提供所有的构建模块和API来构建沉浸式的AR体验,ARCore可以让开发者跟踪手机的位置和方向以及检测水平表面。Google已确认,具备Tango那样深度传感能力的手机将为定义为ARCore兼容设备。
  在开发和运行ARCore应用之前呢,我们需要安装Android Studio2.3或者更高版本, Android SDK 7.0或者更高版本。目前仅支持谷歌Pixel和三星Galaxy S8等4款手机?
 -- ARCore 的三大功能:
 1.运动跟踪:使用手机摄像头观察房间中的特征点和 IMU 传感器数据。ARCore 在移动时确定手机的位置和方向(姿势)。 虚拟对象保持准确放置。
 2.环境理解:将 AR 物体放置在地板或桌子上这是很常见的动作。ARCore 可以基于运动跟踪的相同特征点来检测水平表面。
 3.光估计: ARCore 观察环境中的环境光,开发人员可以以与周围环境相匹配的方式点燃虚拟对象,使其外观更加逼真。

ARCore SDK for Android Studio- https://github.com/google-ar/arcore-android-sdk
ARCore Github 地址:https://github.com/google-ar
Google AR 新的实验 Demo:https://experiments.withgoogle.com/ar
Google ARCore SDK for Android- https://github.com/jason0539/arcore-android-sdk
深入浅出 ARCore- https://www.jianshu.com/p/0e819c39f3cb

Google 终于要让 20 亿 Android 设备能玩上高性能的 AR- https://blog.csdn.net/csdnvr/article/details/80131248


> ARToolkit,是一个开源的AR(增强现实)SDK
GitHub 地址:https://github.com/artoolkit/artoolkit5
官方网站地址:https://artoolkit.org/download-artoolkit-sdk

> OpenCV+AR
 AR红包Android端实现原理- https://www.jianshu.com/p/631a6e971f15
  AR社交类有一款APP——Timeory,主打的是基于LBS定位功能的AR视频穿越,即使不在相同的地点,但依然能够穿越到对方的空间里感受对方的生活状态。
  AR定制类APP——Tminstore,理念是将AR 黑科技与传统零售商品结合,为普通零售商品增加附加价值及互动性。
  安卓要开发AR有两种方法,一种是使用Realmax SDK的原生开发包,在安卓的环境下,使用Java语言进行编写;另一种是使用Realmax SDK加上Unity游戏引擎,把Realmax SDK导入到Unity引擎中,在Unity引擎中进行AR开发,再把开发好的软件导出成安卓用的apk就可以。
  人脸识别算法的主要思路首先是通过人脸检测寻找到人脸区域,一旦找到之后就会使用跟踪算法对人脸部位进行跟踪、人脸检测算法可以选择Face++或者opencv自带的算法,然后对下部区域进行嘴唇检测,找到之后,选择不同光照下的嘴唇图像,提取ROI。
  OpenGL编程指南+第七版,看视图那一章,一定要把顶点变换流水线搞懂。因为这是图形学最最基础的东西了。其中OpenCV和OpenGL有两个矩阵变换。分别是:OpenCV下的摄像机内参矩阵K与OpenGL顶点变换的投影矩阵,OpenCV下的摄像机外参矩阵[R|t]与OpenGL顶点变换的模型视图矩阵 。Camera(OpenCV)自动对焦和触摸对焦的实现.Android手机端的关于人脸识别的增强现实应用。使用OpenCV做增强现实必须要有OpenGL。

-- OpenCV和AR技术:

日本人写的OpenCV-Marker-less-AR(C/C++)- https://github.com/takmin/OpenCV-Marker-less-AR
(iOS/Android)opencv-markerless-AR-Mobile- https://github.com/meiroo/opencv-markerless-AR-Mobile (还是得自己来封装)
Android-AR-Kit- https://github.com/haseman/Android-AR-Kit
Mastering OpenCV- https://github.com/MasteringOpenCV/code
AR Develop Demo(vuforia)- https://github.com/linglongxin24/ARDevelopDemo


猜你喜欢

转载自blog.csdn.net/ShareUs/article/details/80944955