项目实战可看此篇文章

EasyAR项目图像识别与模型交互(全网首发,保姆级教程)_北村南的博客-CSDN博客

基础内容

可以在unity中调试运行:3D物体跟踪+平面图像跟踪

需要打包后在手机上运行:稀疏\稠密空间地图+运动跟踪+表面跟踪+录屏

easyar在unity的基本运行

平面追踪

功能:检测有丰富纹理的平面物体

准备:一张物体图片

原理:系统会根据图片自动计算特征数据

两种追踪模式

Constant Value Description
PreferQuality 0 优先质量
PreferPerformance 1 优先性能

官方提供图片识别度:EasyAR -检测可识别度

单图像跟踪

使用ImageFile文件进行跟踪

1添加EasyAR_ImageTracker-1 Prefab到场景

2添加ImageTarget Prefab到场景

3配置Camera,设置MainCamera,Solid Color,黑色

4创建StreamingAssets文件夹并在其中添加识别图

5配置ImageTarget

注意:这里scale是现实世界中物体的宽度,单位是米

6添加跟随ImageTarget的3D内容

7可以直接在windows中运行

8也可以在Android设备上运行

使用data文件进行跟踪

1 EasyAR--Image Target Data

2

多图像跟踪

1方法:修改Image Tracker中的Simultaneous Target Number值

2使用多Tracker进行跟踪:表示一些模型都是由我这个tracker来管理的

3一张图片也可有多个模型

c#脚本程序控制

1添加控制器

2添加脚本

3添加游戏对象

4代码对应的对象配置

C#语言实现点击出现和消失功能

using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using easyar;public class ITcon : MonoBehaviour
{// Start is called before the first frame updatepublic ImageTrackerFrameFilter tracker;public ImageTargetController targetController;public void SetTracker(bool status){tracker.enabled = status;    //设置是否跟踪}
public void SetTarget(bool status){if (status){targetController.Tracker = tracker; //加载图像}else{targetController.Tracker = null;    //卸载图像}}}

平面图像跟踪视频播放

3D物体跟踪

表面跟踪和运动跟踪

功能:在空间内出现3D物体,随着使用者位置的移动,3D物体位置不发生变化

表面跟踪基本结构

运动跟踪基本结构

使用方法:在手机上才能运行

表面跟踪基本配置

1 EasyAR_SurfaceTracker和WorldRoot拖入场景

2 选中EasyAR_SurfaceTracker游戏对象,将WorldRoot游戏对象拖到World Root Controller属性中为其赋值

3 在WorldRoot下放入需要使用的3D模型

4 调整3D物体在主摄像机的位置

实现效果

当设备小范围移动时,3D物体位置变化不大。当设备大范围移动时,3D物体也会跟着变化,也就是会受周围环境的影响。

总结:适合小范围的移动,实现效果不是很好

运动跟踪基本配置

1 EasyAR_MotionTracker和WorldRoot拖入场景

2 与平面跟踪基本配置一样

实现效果

总结:在大范围移动后,回头看3D物体位置基本没有变化,相比于表面跟踪其稳定性要好很多很多。

稀疏空间地图

背景:以运动跟踪为基础,将二维图像变成三维图像

作用:扫描环境形成三维视觉地图,提供视觉定位跟踪

可多个设备实时共享,实现多人互动

可同时加载多个地图

精度影响因素:纹理、透明度、色调、光照、角度、定位,有一定的环境要求,主要是光线不要太暗

对象解析

EasyAR+WorldRoot:标准运动跟踪

SparseSpatialMapWorker:游戏对象管理者

SparseSpatialMap:游戏对象,在同个场景可有多个

功能解析

SparseSpatialMapWorker:

BuilderMapController.Host:保存地图的方法,需输入地图名称和缩略图(可输入no)

BuilderMapController.MapHost:保存地图的返回值,关键可返回地图ID和名称,因为官方没有提供API可实现自动获取地图ID和名称

Localizer.start:开始定位

Localizer.stop:结束定位

SparseSpatialMap:

Source Type:Map Bulder(建立地图),Map Mannager(定位,若填上地图信息,则无需写程序,直接可以使用,系统自动下载地图并尝试定位)

参考资料

EasyAR UnityPlugin 视频教程合集 -

【EasyAR学习】平面追踪、表面跟踪和运动跟踪、稀疏空间地图相关推荐

  1. 基于EasyAR运动跟踪的室内导航

    EasyAR4.0带了运动跟踪功能,用这个试着做了个室内导航的例子. 基于运动跟踪的室内导航,效果不理想,一是偏差还是比较大,二是导航开始的时候需要扫描特定图片. 原理很简单,利用运动跟踪功能,及当移 ...

  2. Ae 入门系列之九:运动跟踪与稳定(中)

    跟踪器面板中的变形稳定器和跟踪摄像机,都会自动逐帧分析画面,并根据画面上的元素自动创建跟踪点,生成跟踪数据,以用于跟踪和稳定. ◆ ◆  ◆ 变形稳定器 点击跟踪器面板中的变形稳定器 Warp Sta ...

  3. ARKit之路-运动跟踪原理

    版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载.   在前述文章中,我们对AR技术原理进行过简单学习了解,ARKit运动跟踪所采用的技术与其他移动端AR SDK一样,也是采 ...

  4. After Effects Apprentice: 19 Motion Tracking with Cinema 4D Lite After Effects学徒19:运动跟踪与Cinema 4D Li

    After Effects Apprentice: 19 Motion Tracking with Cinema 4D Lite 中文字幕 After Effects学徒19:运动跟踪与Cinema ...

  5. 应用先进的传感器和算法进行低成本运动跟踪---凯利讯半导体

    高性能运动跟踪技术已经从深奥的军事.航空电子设备.海洋和工业应用领域,发展到越来越多的消费者应用领域.然而,将高性能的运动跟踪带到消费者市场往往会迫使设计师们协调一致的目标,特别是在成本.功耗和计算资 ...

  6. 前景提取 matlab,基于MATLAB的动态前景目标特征提取与运动跟踪

    吴晶鑫 仲梁维 摘 要:动态前景目标识别和提取是计算机视觉领域的重要内容.对动态图像进行前景目标提取与运动跟踪,通过改进高斯混合背景模型,提出一种基于自适应特征加权的前景目标提取算法,目的是对动态画面 ...

  7. 基于MATLAB的动态前景目标特征提取与运动跟踪

    基于MATLAB的动态前景目标特征提取与运动跟踪 摘 要:动态前景目标识别和提取是计算机视觉领域的重要内容.对动态图像进行前景目标提取与运动跟踪,通过改进高斯混合背景模型,提出一种基于自适应特征加权的 ...

  8. 采取更简单的路线,以低功率,9轴运动跟踪

    对于越来越多的可穿戴设备和物联网设计,检测方向和跟踪运动的能力正在成为一个关键的要求.尽管有大量可用的运动传感器,但工程师们不断受到挑战,要求更快速有效地将这些设备集成到更低的功率中,这对额外的传感器 ...

  9. python dlib学习(四):单目标跟踪

    前言 dlib提供了dlib.correlation_tracker()类用于跟踪目标. 官方文档入口:http://dlib.net/python/index.html#dlib.correlati ...

  10. 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法

    文章目录 摘要 关键词 0 引言 学者研究 阶段一:采集运动数据,分析运动过程特征 阶段二:设计仿人变量.建立仿人标准和约束 阶段三:用智能算法提升仿人运动机器人性能 本文工作 1 问题描述及方法架构 ...

最新文章

  1. 关于Titandb Ratelimiter 失效问题的一个bugfix
  2. mariadb编译安装流程
  3. 大约xib连接错误bug正确
  4. AI技术已达如此高度:去码、上色6到飞起
  5. 公司那些事-关于领导
  6. mysql 混合模式,SQLServer2005混合模式登录配置(用户登录错误18452,233,4064)
  7. WORD各个章节批量另起一页?
  8. 为什么使用3msip2协议_知识卡片 | 链路状态路由协议OSPF凭什么会取代RIP?
  9. JAVA异常和基础类库
  10. 理解int的存储方式以及二进制编辑器的使用
  11. Echarts 地图中地点轮播
  12. UltraEdit 编辑器授权许可暴力破解
  13. python字典概述
  14. 【教程】win10下安装Biolinux双系统
  15. html滚动条固定前几行,bootstrapTable定位行固定滚动条
  16. 计算机二级网上报名2019安徽,2019年上半年安徽计算机二级考试报名时间
  17. 计算机dns怎么设置方法,dns设置_dns怎么设置【步骤|图文教程】-太平洋IT百科
  18. 分部积分题型总结笔记(分部积分超强拓展)
  19. Rails中的includes和joins的区别与用法(翻译,部分)
  20. 巴菲特致股东的一封信:2005年

热门文章

  1. java 硬盘序列号_如何使用Java获取硬盘序列号?
  2. ubuntu查看端口
  3. 在ghost时加载smartdrv.exe是否会提高速度
  4. 21、Jetson Xavier Nx使用Centerface+Arcface进行人脸识别、认证、比对。并且使用USB转TTL进行串口通信
  5. 链接计算机 输入网络密码,联想电脑怎么连接无线网输入密码时怎么输入
  6. 最新中国大陆行政区域划分
  7. Java开源CMS系统
  8. python截取视频图像_python视频按帧截取图片工具
  9. 诺基亚x6 android one,诺基亚X6手机推送固件更新:提升安卓8.1系统流畅性,新增后台锁定...
  10. 用还原精灵做“硬盘还原卡”(转)