《AR与VR开发实战》——2.5 柱形识别

    xiaoxiao2024-04-02  133

    本节书摘来自华章出版社《AR与VR开发实战》一书中的第2章,第2.5节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    2.5 柱形识别

    Vuforia SDK提供了带有图像的柱形物体识别功能,柱形识别只针对柱形物体,配合包裹在柱体表面的图像来进行识别,比如识别饮料瓶。本节将介绍柱形识别的实现步骤和方法。

    Vuforia官方案例包登录Vuforia官网,进入Downloads页面,点击Samples选项,然后下载如下插件并解压。

    在解压完成后找到Cylinder Targets包并导入Unity工程。在Project视图中的Vuforia文件夹下找到ARCamera预制件和CylinderTarget预制件,将这两个预制件拖至层级视图Hierarchy中,同时删除场景中的Main Camera。

    2.创建数据库在Vuforia官网的Develop页面下创建一个新的数据库,命名为CylinderTargets。创建完成后打开CylinderTargets数据库,选择Add Target,在弹出的文件选项面板中选择第三种Cylinder,然后按照页面要求填写圆柱体的尺寸。其中的三个属性分别代表圆柱体的以下信息:Bottom Diameter:底面直径。Top Diameter:顶面直径。Side Length:边长。

    在创建好识别目标后,点击新创建的识别目标,然后选择Upload Image来上传图片,这个图片是指包裹在圆柱体上的识别图案。

    图片上传标准: 长度:Top Diameter(或者Bottom Diameter)×π。 宽度:按照具体圆柱高度确定,本书使用可口可乐易拉罐,所以宽度为易拉罐高度11.5cm。 注意 上传图片的长度一定要和上下两面图片的圆形周长相同,图片的宽度即圆柱的高,如果图片尺寸不合适,则无法成功添加。 3.实现柱形识别功能 这里我们使用官方自带的案例来做示范。在Unity工程中选中CylinderTarget,在Inspector面板中选择数据包为系统自带的数据包。

    接下来,在CylinderTarget下创建一个子物体模型,这里选择Shpere,然后调节到合适的位置及大小。

    最后,点击运行以测试圆柱体识别的效果。 相关资源:AR与VR开发实战
    最新回复(0)