为了方便AR开发交流,博主建立了一个群 :891555732,欢迎一起讨论


  • 首先来看看ARCore是否满足你应用的需求:
每个图像数据库可以存储多达1000个参考图像的特征点信息。ARCore可以在环境中同时跟踪20个图像,但是它不能跟踪同一图像的多个实例。环境中的物理图像必须至少是15 cm x 15 cm,并且必须是平的(例如,没有褶皱或缠绕在瓶子周围)一旦被跟踪,ARCore提供对位置、方向和物理大小的估计。随着ARCore收集更多的数据,这些估计不断改进。ARCore无法追踪移动的图像,但它可以在停止移动后继续跟踪图像。所有的跟踪都发生在设备上,所以不需要网络连接。参考图像可以在设备上或网络上更新,而不需要更新应用。(不知道这个是怎么实现的,有没有大神能解惑,因为笔者百度查到的.asset是不能热更新的:https://blog.csdn.net/tutu158/article/details/45099809,这篇博文转了一下才满足他的需求,但是不适用ARCore)
  • 选择参考图片的技巧:
增强图像支持PNG和JPEG文件格式。对于JPEG文件,避免对最佳性能进行重压缩。检测仅基于高对比度的点,因此无论颜色或黑色/白色的参考图像是否被使用,都可以检测到颜色和黑色/白色图像。图像的分辨率至少应该是300 x 300像素。使用高分辨率的图像不会提高性能。避免具有稀疏特征的图像。避免具有重复功能的图像。使用arcoreimg工具为每个图像获得0到100的分数。建议75分以上

  • 获取最佳追踪的技巧:

物理图像必须占据相机图像的40%。你可以让用户在他们的相机框架中使用FitToScan asset来匹配物理图像。如下图所示:

当一个图像最初被ARCore检测到,并且没有指定预期的物理尺寸时,它的跟踪状态将会暂停。这意味着ARCore已经识别了图像,但是还没有收集到足够的数据来估计它在3D空间中的位置。在图像的跟踪状态跟踪之前,开发人员不应该使用图像的姿态和大小估计。

  • 识别图片的步骤:

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

打开Assets > GoogleARCore > Examples > AugmentedImage > Configurations,设置AugmentedImageDatabase     

查看官方示例脚本(你也可以自己仿写):

第一个参数是:

参考文章:https://segmentfault.com/a/1190000014956669?utm_source=tag-newest

代码解析:

             // 检查motion tracking是否在跟踪。if (Session.Status != SessionStatus.Tracking){return;}// 为这个框架获取更新的增强图像Session.GetTrackables<AugmentedImage>(m_TempAugmentedImages, TrackableQueryFilter.Updated);// 为更新的增强图像创建可视化工具和锚点,这些图像是跟踪的foreach (var image in m_TempAugmentedImages){AugmentedImageVisualizer visualizer = null;m_Visualizers.TryGetValue(image.DatabaseIndex, out visualizer);if (image.TrackingState == TrackingState.Tracking && visualizer == null){// Create an anchor to ensure that ARCore keeps tracking this augmented image.Anchor anchor = image.CreateAnchor(image.CenterPose);visualizer = (AugmentedImageVisualizer)Instantiate(AugmentedImageVisualizerPrefab, anchor.transform);visualizer.Image = image;m_Visualizers.Add(image.DatabaseIndex, visualizer);}else if (image.TrackingState == TrackingState.Stopped && visualizer != null){m_Visualizers.Remove(image.DatabaseIndex);GameObject.Destroy(visualizer.gameObject);}}// 如果没有跟踪的图像,就显示出适合扫描的fit-to-scanforeach (var visualizer in m_Visualizers.Values){if (visualizer.Image.TrackingState == TrackingState.Tracking){FitToScanOverlay.SetActive(false);return;}}FitToScanOverlay.SetActive(true);}}

ARCore1.2使用入门(二) ------ ARCore图片识别(unity开发)相关推荐

  1. Pascal游戏开发入门(二):渲染图片

    Pascal游戏开发入门(二):渲染图片 渲染静态图片 新增一个Texture,然后Render出来 创建Texture,并获取尺寸 procedure TGame.Init(title: strin ...

  2. arcore之路-unity开发从入门到实践_AR开发之路——准备工作

    由于现在支持AR功能的手机没有普及,讲AR开发的教程也少,所以要学习AR开发还是要花点成本的,当然也有好处,花了学费,才会逼着自己坚持学下去. 为了学习AR,Relax今天入手了一部华为Nova 3i ...

  3. arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践

    0.前言 StarryFun:Unity游戏开发--关于单例模式的理解​zhuanlan.zhihu.com 之前一篇文章讲了单例模式的简单理解,自知其中有很多不严谨的地方,由于本萌新也是在学习阶段, ...

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

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

  5. 翻译app上的图片文字信息提取好神奇?如何实现一个文字图片识别程序

    web文字图片识别程序开发 摘要 一.tesseract-ocr介绍 二.安装tesseract 三.使用命令行 四.程序实现(Python) 五.程序实现(Java) 六.实验测试 七.总结 摘要 ...

  6. 快速入门开发实现订单类图片识别结果抽象解析

    一.背景 面对订单数据纸质文件或图片,仅靠人眼识别的话效率很低,需引入机器学习来识别和解析图片以提高效率.当前市面上已有收费的图片识别服务,包括阿里.百度等,识别效果较好,但针对订单类图片,不仅要关注 ...

  7. python提取发票信息发票识别_(附完整python源码)基于tensorflow、opencv的入门案例_发票识别二:字符分割...

    (附完整python源码)基于tensorflow.opencv的入门案例_发票识别二:字符分割 发布时间:2018-05-14 20:16, 浏览次数:1201 , 标签: python tenso ...

  8. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到

    技术选型 1,前端 小程序原生MINA框架 css JavaScript Wxml 2,管理后台 云开发Cms内容管理系统 web网页 3,数据后台 小程序云开发 云函数 云开发数据库(基于Mongo ...

  9. android 图片二维码识别和保存(二)

    续上一篇,开发图片二维码识别功能后,我们对功能进行性能分析内存占用显著提高了,不使用该功能内存占用大约是147M,使用这个功能多次以后,高达203M. 因此对功能进行研究,发现每次生成的图片没有即时的 ...

最新文章

  1. (转) Java多线程同步与异步
  2. 推荐给程序猿们好用的谷歌插件
  3. 量化信噪比 非均匀量化_键摄基础1:为什么要正确曝光/ADC精度和量化噪声
  4. 数据挖掘算法之离散化和二元化
  5. bzoj 4129 Haruna’s Breakfast 树上莫队
  6. java调用js模板引擎_JavaScript模板引擎应用场景及实现原理详解
  7. tkinter 弹出窗口 传值回到 主窗口
  8. 用word快速将数字字体换成新罗马详细简单方法
  9. Stata:数据包络分析(DEA)
  10. 如何将视频上传到网站服务器,如何将本地视频上传到云服务器
  11. 【HDU 5765】Bonds(进制运算妙用)
  12. 装修项目细节工程队实时监督签到系统有哪些
  13. 惠普z系列服务器,惠普Z8/Z6/Z4 G4新款工作站/服务器主机:Quadro P6000 48TB存储
  14. 大数据和Hadoop什么关系?为什么大数据要学习Hadoop?
  15. SAP FI 系列 (034) - 应收票据冲销
  16. AD使用笔记1 原理图与PCB布局同步实现
  17. 微信小程序--一个简洁好看的轮播图组件(含源码)
  18. 关于.NET使用Microsoft.Office.Interop.Excel导出“异常来自 HRESULT:0x800A03EC”
  19. java方法命名规则_java中方法的命名规范
  20. fedora、centos、rhel安装Adobe Flash Player 28

热门文章

  1. 当WPS文件保存并关闭后恢复的方法。
  2. 程序员吐槽_程序员神吐槽用户
  3. 水泥厂堆取料机无线通讯方案
  4. 社会网络分析之中心性
  5. 最大流量问题-系统架构设计师-数学算法题-石油大亨深海发现油田,设计师着急了!!!
  6. ICH10R服务器主板是什么芯片,英特尔5520/5550/X58-ICH10是什么主板,支持哪些CPU?
  7. 豆瓣评分9.0,《IBM SPSS数据分析与挖掘实战案例精粹》
  8. x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决:
  9. 转载:Win7下applocale的安装方法
  10. 如何使用parallelsdesktopMac虚拟机安装Win7