《AR与VR开发实战》——2.7 3D物体识别

    xiaoxiao2024-03-17  135

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

    2.7 3D物体识别

    2.5节和2.6节讲解了柱体识别和立方体识别,这两节的内容都只是针对简单几何体进行识别,在本节中,我们将介绍不规则三维物体的识别步骤和方法。1.下载并导入插件登录官网,点击Downloads下的Tools,下载Vuforia Object Scanner (Vuforia物体扫描器)。Vuforia Object Scanner是一个用于扫描物体表面识别点信息的App,只支持Android操作系统。根据官网规定,建议大家采用Samsung Galaxy S5和Google Nexus 5这两款安卓手机进行操作,当然也可以尝试使用其他Android手机。

    下载完毕并解压后会得到以下两部分内容:Media文件夹:三维物体扫描图,需要采用A4纸打印出来。scanner.apk:用于三维物体扫描,需要安装在上述两款安卓手机中。

    接下来,我们依然按照之前介绍的方法下载Samples插件包并将其导入工程,下图中的Object Recognition表示对应的插件包中包含物体识别案例。

    2.扫描三维物体识别信息(点云数据) 将打印出来的纸张放在桌面上,在右上角坐标区域放置需要识别的三维物体。打开已经安装的扫描数据App,360°扫描物体后将生成后缀名为.od的数据文件。

    3.创建数据库 接下来登录Vuforia开发者官网并创建数据库,这次我们选择3D Object,点击Browse按钮选择上一步中生成的数据文件。 创建成功后点击下载数据包并将其导入Unity工程。 4.实现三维物体扫描 在Vuforia文件夹中找到ARCamera和ObjectTarget两个预制件并拖到层级视图Hierarchy中。

    选择ObjectTarget,在Inspector面板中选择三维数据包。

    然后在ObjectTarget下创建一个扫描成功后要显示的子对象,并调节到合适的位置及大小,在此我们直接创建Unity自带的三维模型Sphere。 最后点击运行以测试三维物体的识别效果。 相关资源:vuforiaobjectscanner
    最新回复(0)