实验环境:
xavier
参考链接
http://blog.sina.com.cn/s/blog_8c388a3a0101dd15.html
https://blog.csdn.net/qq_27546529/article/details/89852763
https://blog.csdn.net/qq_27546529/article/details/89842373
https://blog.csdn.net/Aoulun/article/details/78768570
1、ros中camera_calibration标定相机
安装camera_calibration功能包
sudo apt-get install ros-melodic-camera-calibration
启动标定程序,标定图
1、打开相机
source ./devel/setup.bash && rosrun camera_driver camera_driver 0
2、rqt_graph查看相机消息话题
3、启动标定程序
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0295 image:=/camera/image
size:内部角点个数
square:棋盘格边长,单位m
CALIBRATE变色标定完成,save保存参数,commit提交数据并退出。
camera_matrix规定了摄像头的内部参数矩阵
distortion_model指定了畸变模型
distortion_coefficients指定畸变模型的系数
rectification_matrix为矫正矩阵,一般为单位阵
projection_matrix为外部世界坐标到像平面的投影矩阵
2、公式推导
https://zhuanlan.zhihu.com/p/144307108
https://www.jianshu.com/p/4566a1281066
3、深度信息
https://www.guyuehome.com/7832
https://ask.csdn.net/questions/7471582
结论:
如果目标物体在地面则Zw=0;如果目标物体有一定高度,则Zw=实际物体高度,求出Zc后即可根据像素坐标求得世界坐标。