1、完成这篇文章所示内容

2、新建Canvas,添加名为FitToScanOverlay的Raw Image,

a、为其添加AspectRatioFitter,Aspect Mode设置为Fit In Parent,Aspect Ratio设置为0.5625

b、RawImage的Texture设置为fit_to_scan

c、锚点、大小设置为父物体大小

做这一步是因为获取最佳追踪的技巧:物理图像必须占据相机图像的40%。

3、选中你要识别的图片,右键-Create > GoogleARCore > AugmentedImageDatabase.

4、右键-Create > GoogleARCore  > SessionConfig,设置AugmentedImageDatabase

ARCoreSessionConfig的Plane Finding Mode:Disableed

5、将4创建的ARCoreSessionConfig赋值给ARCore Device

6、为扫描图片会出现的对象添加如下脚本:新建名为AugmentedImageVisualizerOverride的脚本,内容如下

namespace GoogleARCore.Examples.AugmentedImage
{using GoogleARCore;using UnityEngine;public class AugmentedImageVisualizerOverride : MonoBehaviour{public AugmentedImage Image;public void Update(){if (Image == null || Image.TrackingState != TrackingState.Tracking){return;}}}
}

7、新建名为ImageController的gameObject,挂载名为ARCoreImageController的脚本

a、为脚本的AugmentedImageVisualizerPrefab赋值6的要显示的物体(注意:此处对象的顺序就是图片库的顺序,这样才能使扫描的图片对应相应的对象)

b、FitToScanOverlay属性赋值2的FitToScanOverlay

脚本内容如下:

namespace GoogleARCore.Examples.AugmentedImage
{using System.Collections.Generic;using GoogleARCore;using UnityEngine;public class ARCoreImageController : MonoBehaviour{[Header("Drag Augmented Image prefab to this")]public List<AugmentedImageVisualizerOverride>  AugmentedImageVisualizerPrefab;[Header("Drag FitToScanOverlay to this")]public GameObject FitToScanOverlay;private Dictionary<int, AugmentedImageVisualizerOverride> m_Visualizers = new Dictionary<int, AugmentedImageVisualizerOverride>();private List<AugmentedImage> m_TempAugmentedImages = new List<AugmentedImage>();public void Update(){if (Input.GetKey(KeyCode.Escape)){Application.Quit();}if (Session.Status != SessionStatus.Tracking){return;}Session.GetTrackables(m_TempAugmentedImages, TrackableQueryFilter.Updated);foreach (var image in m_TempAugmentedImages){Debug.Log("name1111111" + image.Name);Debug.Log("index1111111" + image.DatabaseIndex);AugmentedImageVisualizerOverride visualizer = null;m_Visualizers.TryGetValue(image.DatabaseIndex, out visualizer);if (image.TrackingState == TrackingState.Tracking && visualizer == null){Debug.Log("name" + image.Name);Debug.Log("index" + image.DatabaseIndex);Anchor anchor = image.CreateAnchor(image.CenterPose);visualizer =AugmentedImageVisualizerPrefab[image.DatabaseIndex];visualizer.gameObject.SetActive(true);visualizer.transform.parent = anchor.transform;visualizer.transform.localPosition = Vector3.zero;visualizer.transform.localRotation = new Quaternion(0,0,0,0);visualizer.transform.parent = null;visualizer.Image = image;m_Visualizers.Add(image.DatabaseIndex, visualizer);}}foreach (var visualizer in m_Visualizers.Values){if (visualizer.Image.TrackingState == TrackingState.Tracking){FitToScanOverlay.SetActive(false);return;}}}//重置位置方法public void OnclickRe(int index){AugmentedImageVisualizerOverride visualizer = null;m_Visualizers.TryGetValue(index, out visualizer);if (visualizer!=null){m_Visualizers.Remove(index);visualizer.gameObject.SetActive(false);FitToScanOverlay.SetActive(true);}}}
}

大家还有什么问题,欢迎在下方留言!

如果你有 技术的问题 或 项目开发

都可以加下方联系方式

和我聊一聊你的故事

ARCore⭐四、图片识别相关推荐

  1. ARCore从零到一 (7) 用图片识别做AR卡片和书籍

    一.了解ARCore图片识别的条件 借助 ARCore 中的增强图像功能,我们可以构建识别平面图像(如海报或产品包装)的 AR 应用. 只需要提供一组参考图像,在摄像头视野中检测到图像时,ARCore ...

  2. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核...

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  3. 深度学习 (四)Keras利用CNN实现图片识别(Mnist、Cifar10)

    视觉集 视觉数据库是用来提供给图片识别领域用素材,目前各个教材常用的主要有手写数字识别库.10中小图片分类库,详细介绍如下: Mnist MNIST(Mixed National Institute ...

  4. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...

  5. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略

    Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介+数据增强(将已有MNIST数据集通过移动像素上下左右的方法来扩大数据集为初始数据集的5倍) 目录 MNIST ...

  6. KNN算法虹膜图片识别(源码)

    人工智能AI与大数据技术实战  公众号: weic2c 目录 1 K-近邻算法(KNN, k-NearestNeighbor) 2 K-近邻算法详述 3 K-近邻算法图片识别分类 4 参考文献 1 K ...

  7. HoloLens 2开发: Vuforia图片识别

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1/HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity201 ...

  8. EasyAr实现图片识别

    1.效果 这是平面Image识别,3d也可以,需要建模,建模素材为Obj文件like this: 做法:特别说明,因为方便使用问题,EasyAr是直接继承好了相关功能的示例包,一般来说,直接拖入其功能 ...

  9. python简单图片识别_用Python进行简单的图片识别(1)

    起因是这样的,我想买一个定焦镜头,但也不是必需品,可以长期观望购买.最初的想法是,写个程序,每天爬一下各大电商网站的价格,或者直接爬etao把该镜头的价格记录下来,突然有一个惊爆的低价,就发邮件通知. ...

  10. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别...

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

最新文章

  1. TIME_WAIT和CLOSE_WAIT状态
  2. 坚强生活(转)--To 小鱼,妹妹和傻女孩们
  3. Spring 实践:AOP
  4. 计算机接口技术试题及答案,2014.3计算机接口技术总复习题及答案
  5. 0x80070659系统策略禁止这个安装 vc_不安装DNS解析服务器下安装Vcenter6.7
  6. docker容器内开启22 ssh_在docker容器中开启ssh服务 (未成功有时间再验证)
  7. 【从零开始】Python字符串的操作方法
  8. 弱引用什么时候被回收_Java基础 强引用、弱引用、软引用、虚引用
  9. 再见 Jenkins !几行脚本搞定自动化部署,这款神器有点厉害!
  10. 跑分cpu_英特尔Rocket Lake 8核心和16线程CPU跑分泄漏
  11. 当systeminfo不能显示系统启动时间了--用命令行修复一下
  12. vue框架安装mock
  13. 在Eclipse中使用JUnit4进行单元测试(上)
  14. 《Visual Studio Hacks 》读书笔记 (七)
  15. C# mysql导入文件报错:The used command is not allowed with this MySQL version
  16. 区块链技术方案研究与分析
  17. mysql c 打开数据库文件怎么打开_vs中打开数据库文件路径
  18. jacob为word添加水印
  19. js json数据去重。json数据如何将相邻的一条数据的重复数据删掉,通过key判断值相等的
  20. SwiftUI AVKit 之合并和叠加音频mp3 并输出

热门文章

  1. Linux下基于GTK人脸识别界面设计
  2. Unix操作系统历史
  3. SQL语句 字段类型转换—文本型转换成数值型
  4. 【AUTOSAR】【以太网】 EthIf
  5. 拼多多分享好友砍价Java实现_拼多多怎么帮助好友砍价免费拿商品,详情介绍...
  6. Hexo博客使用aplayer音乐播放插件
  7. 微信小程序之添加文章功能
  8. python---控制时间的函数time()
  9. 计算机不识别u盘咋办,电脑无法识别u盘如何修复,电脑不识别u盘怎么办
  10. [转载] 服务器基础知识