AVM 环视原理
模型
以 汽车中心 在地面的投影 作为世界坐标系原点。向右 为X轴,向前为 Y轴,向上为 Z 轴。
步骤
1、 标定 前后左右 4 个相机的内参(焦距、中心点位置)、外参(相机在世界坐标系下面的旋转和偏移参数)、畸变系数。
怎么标定?
答: 1、在车的四周铺标定棋盘格。 测量得到棋盘格角点 在世界坐标系下面的 (x,y,0) 坐标。
2、在对应的图像中,找到对应棋盘格角点的 像素坐标 (u,v)
3、调用opencv 函数,进行参数拟合,得到。
理论见 https://www.cnblogs.com/zhangzhiwei122/p/15885471.html
https://www.cnblogs.com/zhangzhiwei122/p/15885496.html
2、openGL 绘制 环绕车辆的碗装模型
这个很简单,可以绘制半球,或者 平底+和平底相切的弧。
不会?可以参考 https://blog.csdn.net/ArthurLiuG/article/details/120716377
3、将前后左右 4 个相机拍摄得到的图片转换为纹理,贴图到碗装模型上面。
3.1 1 中已经得到了 世界坐标系下点(x,y,z) 到 像素坐标 (u,x)的关系(参数已经拟合出来了)
3.2 对碗装模型上面的点,调用3.1 中的转换公式,即可得到 碗装模型上面点(x,y,z)应该贴的纹理坐标(u,v)了。