• [AR]Vumark(下一代条形码)


    VuMark

    准备知识

    Vumark的说明: https://library.vuforia.com/articles/Training/VuMark

    https://library.vuforia.com/articles/Solution/Working-with-VuMarks-in-Unity

    SVG的制作工具:AI(Adobe Illustrator)

    SVG查看工具:IE9以上、Chrome、Firefox类的浏览器,或者其它看图软件,以下是在AI中查看SVG文件,可以看到vumark的属性信息。

    image

    建议先查看Vuforia自带的Vumark Demo。

    操作环境

    Vuforia 6.0.112

    Unity3D 5.3.6f1

    Windows 7 x64

    操作步骤

    1、登录vuforia的后台:https://developer.vuforia.com,创建一个Database,类型为 Vumark

    2、点击Add Target ,上传一个SVG文件,此svg文件带有标识点,由美术根据相关制作标准制作

    image

    3、下载database ( UnityPackage 文件),如果你是Android和IOS,请选择其它格式。

    4、新建一个Unity工程,导入vuforia的SDK,将下载好的unitypackage文件导入到unity中

    获取VuMark图

    接下来要做的事情,就是扫描识别图,进行识别,那么识别图从那儿获取呢?

    在vuforia的后台中,在Target 的右侧有个 Generate VuMark,它可以通过这张svg图片文件,生成N多张VuMark图片。

    点击“Generate VuMark”,在弹出的窗口中,输入需要生成的ID(100),选择图片的格式,点击 Download

    image

    点击“Generate VuMark”,在弹出的窗口中,输入需要生成的ID(50),选择图片的格式,点击 Download

    这样就得到了ID=100和ID=50的两张VuMark图,这两张图就可以拿来进行识别了。

    经测试识别最大值和最小值,可正确地识别,打印结果如下:

    New VuMark: 999999999999

    New VuMark: 0

    最多生成图片数量

    从上面的图中可知,ID Length =40,约是2的40次方,范围在:0 ~ 999 999 999 999,也就是可以生成 999999999999 +1 张Vumark图。

    以下是生成图片的ID,尝试输入不在范围内的值。

    输入负数

    image

    输入超出最大值

    image

    识别成功和丢失

    从Example中,可以看到丢失和识别成功的事件写在以下两个文件中:

    VuMarkHandler.cs 绑定在单独的GameObject上
    VuMarkEventHandler.cs 绑定在VuMark上

    这两个脚本日后研究完善并做更加详细地注释:https://github.com/zhaoqingqing/blog_samplecode/tree/master/ar-vr-mr/vuforia/vumark

    相关FQ

    1、是否可以同时Active多个database?

    在目前的6.0.112版本中,我的测试,不可以同时Load 多个database(包括两个)

    与FrameMarker比较

    FrameMarker

    image

    FrameMarker特征图是由高通设计的,如上图所示,ID从 0~511,对应着512张图片,ID=1,ID=2 两张图像之间的差异就是最外圈的黑白点之间的差异。

    Vumark

    1、Vumark的特征图是可以自定义的,可以不是黑白点了。

    2、最大ID在数量上提升了N倍,0 ~ 999 999 999 999

  • 相关阅读:
    尚硅谷《全套Java、Android、HTML5前端视频》
    OCM 学习练习题目
    本文转自 MyEclipse 2015反编译插件安装
    关闭VirtualBox虚拟机的时钟同步
    Oracle数据库的状态查询
    ORA-00845 MEMORY_TARGET not supported on this system 的解决
    Ehcache
    Oracle 列转行函数 Listagg()
    oracle数据库定时任务dbms_job的用法详解
    MySQL 处理海量数据时的一些优化查询速度方法
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/6156303.html
Copyright © 2020-2023  润新知