神奇了!AR技术可测量实物体积!

本方案使用目前最火的AR库,实现测量真实世界纸箱的体积。设备支持ARCore、ARKit即可!

简要:通过AR提供的识别平面的功能,找到箱子所在的平面;在平面上标出箱子底部的三个顶点,这三个顶点就能确认箱子的底部面积;通过滑动条调节测量绘制出立方体模型,立方体模型体积即实物的体积(AR库已经实现了虚拟世界和真实世界的1:1比例)。

实现步骤简要:

  1. 平面识别

    这是AR库提供的功能,打开摄像头后,拿着手机对着桌面来回平移一小段距离,即可把平面识别出来。识别平面效率跟手机移动方式有关,因为AR库识别平面是通过处理画面特征点和三角测量运算出来的。要注意的是:目标平面最好是纹理图案比较复杂的,空白平面和反光平面都会加大识别难度;另外,AR库为了做三角测量计算,手机需要平移,手机原地自转是很难识别出平面的。

  2. 绘制底面

    绘制立方体底面需要找到箱底三个顶点,找顶点方式很多,我们项目最终方案是通过深度学习的方式,自动找出箱子的顶点二维信息,通过一些简单算法能把二维坐标转化三维坐标。这里讲述最容易实现的方式,就是手动找顶点,Unity有发射线的方法,手触摸手机屏幕,从摄像头发出一条射线,射线射在平面上,击中平面的交点就是我们要找的三维点信息。用这种方式击中箱底三个顶点,找到顶点的三维坐标信息。这三个点就能构建出三维空间中立方体的底面。

  3. 确定高度

    绘制出底面后,我们就可以计算箱底面积了,但我们要测的是箱子体积,所以还要知道箱子的高度。我们是有方法直接找到高度的,在这先留一手,讲述最容易实现的方法。使用简单的方式实现,就是通过滑动条来确定高度,自动赋予一个高度给立方体模型即可。可看演示视频的效果。

演示视频:

Youku:

视频地址:https://v.youku.com/v_show/id_XMzczNDc3ODUwOA==.html?spm=a2hzp.8244740.0.0

YouTube:

发表评论

电子邮件地址不会被公开。