一,什么是AR

在说AR技术之前,先来说说VR。

虚拟现实(VR:Virtual Reality)是采用以计算机技术为核心的技术,生成逼真的视,听,触觉等一体化的虚拟环境,用户借助必要的设备以自然的方式与虚拟世界中的物体进行交互,相互影响,从而产生亲临真实环境的感受和体验。

而增强式VR系统简称增强现实(Augmented Reality),就是我们经常说的在手机上应用的比较多的AR了。它允许用户看到真实世界,同时,也能看到叠加在真实世界上的虚拟对象,它是把真实环境和虚拟环境结合起来的一种系统。AR中真实物体和虚拟物体与用户环境必须无缝结合在一起,而且真实物体和虚拟物体之间还要能够进行交互,这样才能实现真正的虚实融合。因此,增强现实系统具有虚实结合,实时交互,三维定向的新特点。

二,AR构成

一个完整的AR系统需要由显示技术,跟踪和定位技术,界面和可视化技术,标定技术构成。

跟踪和定位技术与标定技术共同完成对位置与方位的检测,并将数据报告给AR系统,实现被跟踪对象在真实世界里的坐标与虚拟世界中的坐标统一,达到让虚拟物体与用户 环境无缝结合的目标。为了生成准确定位,AR系统需要进行大量的标定,测量值包括摄像机参数,视域范围,传感器的偏移,对象定位以及变形等。

对于智能手机而言,AR就是根据当前位置(GPS),和视野朝向(指南针)以及手机朝向(方向传感器/陀螺仪),在实景中(摄像头)投射出相关信息并在显示设备(屏幕)里展示。其实现的重点在与投影矩阵的获取。

三,安卓系统中

在实际开发的时候,其实android系统已经将投影矩阵封装的比较好了,可以通过接口直接获取投影矩阵,然后将相关的坐标转换成对应的坐标就可以了。

移动增强现实系统应实时跟踪手机在真实场景中的位置姿态,并根据这些信息计算出虚拟物体在摄像机中的坐标,实现虚拟物体画面与真实场景画面精准匹配,所以,registration(即手机的空间位置和姿态)的性能是增强现实的关键。

四,library

1,Layar

Layar目的在于打造一个开放的增强现实平台,任何第三方都可以通过Layar的开发接口来打造基于Layar的自己的增强现实应用。

官网: https://www.layar.com/

2,高通AR开发包

基于unity的扩展。

官网:https://developer.vuforia.com/

最近迷上了做游戏,闲着也是闲着,多瞅瞅找找灵感,同样没事儿可干的同志们可以一起来做做开源啥的。

AR技术介绍(Located in Android)的更多相关文章

  1. 深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍

    1.1 什么是热修复 对于广大的移动开发者而言,发版更新是最为寻常不过的事了.然而,如果你 发现刚发出去的包有紧急的BUG需要修复,那你就必须需要经过下面这样的流程: 这就是传统的更新流程,步骤十分繁 ...

  2. 转:Android 2.3 代码混淆proguard技术介绍

    ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...

  3. ar技术序章-SDK介绍和选择

    转自: http://blog.csdn.net/kun1234567/article/details/10402535 ar技术序章-SDK介绍和选择 分类: Augmented Reality20 ...

  4. 24、AR技术

    什么是AR 在介绍增强现实(AR)之前,需要先说说虚拟现实(VR) 虚拟现实是从英文Virtual Reality 一词翻译过来的,简称VR.VR 技术是采用以计算机技术为核心的技术,生成逼真的视.听 ...

  5. Mixed Reality-宁波市VR/AR技术应用高研班总结

    年,全球AR与VR市场规模将达到1500亿美元,而根据市场研究机构BI Intelligence的统计,2020年仅头戴式VR硬件市场规模将达到28亿美元,未来5年复合增长率超过100%.本次培训从V ...

  6. App热补丁动态修复技术介绍

    安卓App热补丁动态修复技术介绍 来自qq空间团队:微信号qzonemobiledev QQ空间终端开发团队 1.背景 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就 ...

  7. SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例

    今天这篇迟到的文章,来自我的同事Aviva. 去年SAP C/4HANA发布之后,SAP的从业者们可能或多或少都读过一些来自SAP官方渠道,比如微信公众号"SAP天天事"发布的一些 ...

  8. AirPlay、DLNA、Miracast三大无线技术介绍

    小米盒子之AirPlay.DLNA.Miracast三大无线技术介绍 米官方称小米盒子的米联功能可以将小米手机或iPhone.iPad上的图片.音乐.视频等精彩内容投射到电视上,让你感受大屏的刺激.而 ...

  9. .Net环境下的缓存技术介绍 (转)

    .Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 ...

随机推荐

  1. MATLAB安装与注册(血泪总结)

    工具/原料   R2016a_win64.iso(安装文件) Matlab 2016a Win64 Crack.rar(破解文件) 方法/步骤   1 下载R2016a_win64.iso(安装文件) ...

  2. Linux下Kafka单机安装配置

    安装jdkJDK版本大于1.8 安装kafkatar -zxvf kafka_2.11-0.10.2.1.tgz mv kafka_2.11-0.10.2.1 /usr/local/kafka 配置k ...

  3. 2018.9.28 典型for循环特殊理解及其二维数组的理解

    如果for里面换成了函数结果会是怎么样呢?下面就来介绍一下 package praDemo; public class Test { public static boolean foo(char c) ...

  4. CentOS 7.1上安装.Net Core

    官方网站给出了几条命令: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/f ...

  5. redis的数据结构与命令

    以下部分文档,摘自51cto讲师:汤小洋 redis提供五种数据类型:string,hash,list,set及zset(sorted set). Redis数据就是以key­ value形式来存储的 ...

  6. linux 使用sqlite3

    :c中使用sqlite3需要调用函数接口操作: sqlite3 *db; int status=sqlite_open("dbname",&db);//打开或者创建数据库 ...

  7. LeetCode4.寻找两个有序数组的中位数 JavaScript

    给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2  ...

  8. SQL Server笔记——sql语句创建数据库

    MS SQLServer的每个数据库包含: 1个主数据文件(.mdf)必须. 1个事务日志文件(.ldf)必须. 可以包含: 任意多个次要数据文件(.ndf) 多个事务日志文件 CREATE DATA ...

  9. Python 学习笔记(七)Python字符串(三)

    常用字符串方法 split()  分割字符串,指定分隔符对字符串进行分割 join()   将序列中的元素以指定的字符连接生成一个新的字符串 str.strip() 用于移除字符串头尾指定的字符(默认 ...

  10. JS中遍历数组、对象的方式

    1.标准的for循环遍历数组 //不打印自定义属性和继承属性 var array = [1,2,3]; for (var i = 0; i < array.length; i++) { cons ...