AR功能主要流程是:先检测平面,然后计算AR物体(box)的各个顶点3d位置,然后写程序把每个顶点投影到相平面,用cv的多边形填充功能来绘制到照片上面。
- 先求一个相机朝向的vector:w_cam_z
-
findGround
-
输入数当前滑窗中所有的3d点
-
把所有点按照高度划分为30层
-
取出点最多的那一层作为平面
-
drawGround
-
只有在平面中的点数大于28的时候才画地面
-
先把所有点投影到相平面
-
用2d的Delaunay生成这些点的3角格子
-
把每条边都画到照片上
-
drawBox
-
把所有box手动投影到相平面,然后手动多边形填充
-
Grounds其实是所有box的集合不是平面的
-
相应对box的平移操作
-
处理抓取操作进行的缩放
-
双手指的旋转
-
点击的添加新的box,条件是平面点要大于28
-
投影平面中心点到相平面
-
看是否附近有box,没有的话才进行下一步
-
把box放到当前平面上
-
盒子属性
-
长按后标识被按住盒子
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)