您当前的位置: 首页 >  unity

程序员正茂

暂无认证

  • 1浏览

    0关注

    283博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity3d中使用Apriltag单目测距

程序员正茂 发布时间:2020-05-27 13:14:07 ,浏览量:1

Hr为Apriltag码高度,单位CM Lr为Apriltag码到相机焦点的距离,单位CM Hv为Apriltag码在照片的高度,单位可为像素,在Unity中transform中的localScale值 Lv为相机的焦距

注意为了减小误差,Apriltag码应尽量位于相机的中轴线上,Apriltag码应与相机中轴线垂直。

第一步,求相机焦距

已知: Hr为4.65cm(用卷尺直接测量) Lr为40cm(用卷尺直接测量,起点为摄像头的透镜中心处,差不多就行) Hv为2.276(transform中的localScale值)

Lv=Lr*Hv/Hr=(Apriltag码到透镜中心距离)*(localScale值)/(Apriltag码宽度)=19.578494623655

第二步,求相机到Apriltag码的实际距离。 经过第一步已经求出焦距Lv,真实距离Lr = Lv*Hr/Hv=(相机焦距)*(Apriltag码宽度)/(localScale值) 如Hv=3.025(transform中的localScale值) Lr=19.578494623655*4.65/3.025=30.095,即在30cm附近,考虑到各种误差,精度还是很不错的。

第三步,求Apriltag码在相机中轴线垂直平台的移动距离。

原理:Apriltag真实尺寸与照片尺寸之间的比值,乘以二维码在照片上的移动距离,即Mr=Mv * Hr/Hv。实际应用时需要设置某个点为原点,先把移动距离归0。

关注
打赏
1660743125
查看更多评论
立即登录/注册

微信扫码登录

0.0407s