近日购买了海康工业相机和镜头,因其出厂是没有做内参标定,所以自己参考网上的教程做内参标定。
参考教程:十分感谢这位作者的贡献ROS相机内参标定详细步骤指南-CSDN博客
首先安装ros自带的标定包
sudo apt install ros-noetic-camera-calibration -y
安装好之后找到一块标定板,网上的教程多数是自己打印,但是我们组有标定板,剩下了打印标定板的工作。量好标定板的每个方格的尺寸,注意不是所有标定板都是正方形的,有可能有一些格子是长方形的,需要确定格子的两条边的长度。然后数清楚自己的标定板长宽各有多少个格子,注意看教程里面不是以格子的数量作为输入参数。
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.025 image:=/right_arm_camera/color/image_raw camera:=/right_arm_camera
如果报错,因为校准工具会查找相机节点的set_camera_info
服务,如果无法正确启动,添加以下参数到以上的命令中(添加在最后即可)。
--no-service-check
然后找到一个明亮的场景,拿着标定板就可以开始标定
这个时候要不停的移动标定板,左右、上下、前后、绕三根轴一共六种动作,不停的做,知道四根线都变成绿色,具体原理不是很懂 ,总之晃就对了,这个过程会比较长,建议多做不同的动作,这个步骤需要两个人协作完成,一个人可能不行。这个时候打印标定板的优势就显示出来了,我们的标定板太重了,非常累。
等到四根线都变成绿色的时候,点击calib按钮,让他计算,算完之后点击save,保存在默认路径下。
以下是我的标定结果,如果有相机和镜头型号跟我一样,又懒得标定的,可以自取。
自此内参标定结束。