Vuforia笔记1(Vuforia8.0.10与Unity2018.3.6f1)
一丶ARCamera(AR的灵魂)
1.World Center Mode
- SPECIFIC_TARGET:制定一个物体作为世界中心坐标
- FIRST_TARGET:摄像机所照射到的第一个需要识别的目标为世界中心坐标
- CAMERA:摄像机为世界中心的坐标
2.Open Vuforia Engine Configuration
a.Camera Device Mode:
- MODE_OPTIMIZE_QUALITY:质量优先
- MODE_OPTIMIZE_SPEED:速度优先
- MODE_DEFAULT:默认
b.最大识别数量:
- MaxSimultaneous Tracked Images:最大识别的图片数量
- MaxSimultaneous Tracked Objects:最大识别的物体数量
c.Camere Direction:
CAMERA_DEFAULT:默认摄像机
CAMERA_BACK:指定后置摄像头
CAMERA_FRONT:指定前置摄像头
特别注意:电脑端调试时打开的都是前置摄像头
d.Device Type:
Handle:手持
Difital Eyewear:眼镜
Phone+Viewer:用于MR(混合现实)
二丶Default Trackable Event Handler脚本(后续的开发只需要继承ITrackableEventHandler接口即可)
// 找到了需要识别的物体
protected virtual void OnTrackingFound();
// 丢失了需要识别的物体
protected virtual void OnTrackingLost();
// 状态切换
public void OnTrackableStateChanged(
TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
m_PreviousStatus = previousStatus;
m_NewStatus = newStatus;
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
OnTrackingFound();
}
else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
newStatus == TrackableBehaviour.Status.NO_POSE)
{
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
OnTrackingLost();
}
else
{
// For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND
// Vuforia is starting, but tracking has not been lost or found yet
// Call OnTrackingLost() to hide the augmentations
OnTrackingLost();
}
}
我们实现功能只需在OnTrackingFound和OnTrackingLost两个函数上实现即可
Turn off Behaviour脚本
链接到设备的摄像头后销毁Mesh Renderer和Mesh Filter组件
三丶功能
- Image Target:这是最常用、也是最简单的识别对象,即单一静态的平面图像
- Multi-Targets(立方体识别):多对象识别,可以同时识别多张Image Targets,并且可以把它们和几何立体物体结合起来,比如一个纸盒子,或者任意形状的平面
- Cylinder Targets(圆柱体识别):是形状类似于圆柱形的图片,可以将这些图片贴到一些圆柱形物体上比如瓶子、杯子等等,进行识别
- Text Recognization:文字识别,但是很遗憾,不支持中文汉字识别,只支持英文(但同时官方文档给了下面的提示)
而这里使用的是Vuforia8.0.10,所以在这不推荐使用这个功能了
Object Recognization:实物识别
- Object Sacnner:对象扫描仪,目前只支持一部分的三星和谷歌手机,所以设备有很大的限制,因此我暂时不会使用这个功能
- Scan3D:在Google Play下载,可以扫描真实世界的物体
- Vuforia Engine数据库最多可以容纳20个对象目标
VuMark:这是Vuforia自己研发的一种新型条形码,并且被称为下一代条形码,你能够自己随意设计这种条形码的样式,并且在其中融入相关的数据信息(自由度高);可用于识别零件和设备等
Model Target: 模型目标使使用Vuforia Engine构建的应用程序能够根据对象的形状识别和跟踪现实世界中的特定对象
1.各种各样的物体可以用作 模型目标,从家用电器和玩具到车辆,到大型工业设备甚至建筑地标
2.对象必须:
几何刚性(即它不能变形或可延展)。
呈现稳定的表面特征(不支持光亮表面)。
根据其所处的环境进行修复。
Virtual Buttons(虚拟按钮):这是唯一一个交互的功能(与现实交互) 虚拟按钮部分要选择特征点比较丰富的部位
1.接口:VirtualButtonEventHandler和IVirtualButtonEventHandler
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
实现功能时和普通按钮一样,可实现长按短按,双击等操作
Cloud Recognition:云识别 (免费1000个标记)
1.Server Access Keys:用来上传图片和管理图片
2.Client Access Keys:APP中图片识别服务而搜索数据库
3.元数据:元数据保存Json文件地址,而数据保存在Json文件中
4.Book案例(官方定位的最佳体验)
Ground Plane Detection:(Smart Terrain的一部分)
1.检测和跟踪水平表面(地板)
2.在水平表面上生成3D物体
3.但暂时也是有一定的设备限制
Vuforia Fusion Supported Devices
4.可用于家庭家具购物和应用游戏和设计可视化等
User Defined Targets(用户自定义目标):
1.实现原理:通过两个新的类::ImageTargetBuilder 和 ImageTargetBuilderState 实现创建
2.UserDefinedTargetEventHandler脚本
三个选项:
1.Start scanning automatically:当开始摄像头,自动检测摄像头画面的特征点
2.Stop tracker while scanning:当扫描的时候自动终止跟踪,当停止扫描,跟踪自动开启。
3.Stop scanning after creating a target:当新的target创建之后,自动停止扫描
PS:默认选择第一项,这种方式一直扫描状态,当Target创建之后会被立刻跟踪。因此,模型出现更快。并且选择这种,可以识别多个标志。
四丶图片识别机制
通过检测自然特性点的匹配来完成的,将Target Manager中的Image检测出的特征点保存在数据库中,然后实时检测初真实图像中的特征点与数据库中模板图片的特征点数据进行匹配
1.服务器对上传图片进行灰度处理,图片变为黑白图像
2.提取黑白图形特征点: 图片中尖锐可辩、轮廓分明的地方为特征点
3.将特征点数据打包;
4.程序运行时对比特征点数据包
注意事项
1.最好时无光泽,较硬材质的卡片
2.包含丰富的细节,较高的对比度(颜色相差较大)以及无重复的图像
3.整幅图片的8%宽度为功能排斥缓冲区,不会被识别
4.带有轮廓分明、有棱角的图案
5.图像目标应在漫反射灯光照射的适度明亮的环境中,图片表面应被均匀照射
作者:Ligo丶
出处:https://www.cnblogs.com/Ligo-Z/
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
Vuforia笔记1(Vuforia8.0.10与Unity2018.3.6f1)的更多相关文章
- CentOS7 编译安装 Nodejs (实测 笔记 Centos 7.0 + node 0.10.33)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...
- Time.deltaTime 的平均值在0.1-0.2左右
Time.deltaTime 平均值在0.1-0.2左右 低的在0.03 高的在0.3
- kafka0.9.0及0.10.0配置属性
问题导读1.borker包含哪些属性?2.Producer包含哪些属性?3.Consumer如何配置?borker(0.9.0及0.10.0)配置Kafka日志本身是由多个日志段组成(log segm ...
- pthreads 2.0.10 test
CentOS 6.3 cd /root mkdir pthreads //get php-5.6 and install zts version wget cn2.php.net/get/php-5. ...
- how to build apache log4cxx 0.10 by Visual Studio 201*
Chapter 1 Official Steps We are going to follow the steps here, http://logging.apache.org/log4cxx/b ...
- Microsoft.Bcl.Build 1.0.10 稳定版发布
Microsoft.Bcl.Build 1.0.10 稳定版发布 解决了之前 1.0.8 在未下载相应的Nuget Package 的情况下项目无法加载的情况 但由于 Microsoft.Net.Ht ...
- 小红伞和virtualbox5.0.10冲突
win7 sp1 64bit 旗舰版:virtual box 5.0.10 提示 error in supr3hardNtChildWaitFor……Timed out after 60001 ms ...
- Kafka 0.10.0
2.1 Producer API We encourage all new development to use the new Java producer. This client is produ ...
- DotNetBar v12.7.0.10 Fully Cracked
更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=12.7.0.10 如果遇到破解问题可以与 ...
随机推荐
- OPT
http://cdn.imgtec.com/sdk-documentation/PowerVR.Performance+Recommendations.pdf 宝贝 https://developer ...
- Charles破解注册
Charles破解注册English 本页面会持续更新Charles最新版破解注册方法,建议加入收藏 Charles 4.1.2 下载Charles v4.1.2 并安装 云盘下载: Windows ...
- 04_Returners组件:返回jobid的结果到mysql
1.前期调研 0.环境 salt 2019 python3.6 很重要 [root@IP ~]# salt-call --versions-report Salt Version: Salt: 20 ...
- P2680 运输计划 二分+树上差分
又咕咕了几天\(QwQ\) 思路:二分+树上差分 提交:\(\geq5\)次 错因:\(lca\)写错+卡了很久常数(哪位大佬帮我康康,有更好的写法请指出\(QwQ\)) 题解: 我们先将原问题转化为 ...
- 【题解】求细胞数量-C++
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式输入格 ...
- git 远程代码被覆盖
场景: 解决方法: 第1步. 回退至上一个完整的正确的版本.Git Bash 中输入命令: git reset --hard 1b59cef2a1685c37b7e7b5f2497e055f5e031 ...
- Share Point安裝
Win7上裝不了WSS(Sharepoint3.3),而安裝SharePoint Foundation 2010時候又由於不能跑PrerequisiteInstaller.exe,很多該裝的組件裝不上 ...
- fputcsv
1.a是從結尾添加,w是從頭添加,不知爲什麽 這樣寫最後一行會是錯的,似乎不會自動添加換行符,只有在最後以行寫上"\r\n",才會正確. $fp = sugar_fopen('fi ...
- 【概率论】3-9:多随机变量函数(Functions of Two or More Random Variables)
title: [概率论]3-9:多随机变量函数(Functions of Two or More Random Variables) categories: - Mathematic - Probab ...
- windows平台下MySQl的安装、破解和使用
#1.下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #2.解压 如果想要让MySQL安装在指定目录,那么 ...