kinect内参数的标定

在标定之前,需要确保ROS中安装有OpenNI驱动包和相机标定包,同时下载一个标准的6X8的棋盘格,如下图:
在这里插入图片描述
标定步骤:
1、运行下边指令启动OpenNI驱动包,同时开启Kinect的RGB和深度图像流:

roslaunch openni_launch openni.launch

   
   
  • 1

2、在camera_calibration功能包中运行cameralibrator.py 文件来启动相机标定程序,并在后面列出RGB图像话题、相机话题、棋盘格大小和每个方格尺寸大小,在这里我用的是8X6 单个方格边长为0.024

rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 8x6 --square 0.024

   
   
  • 1

在这里插入图片描述
3、为了更准确的完成标定,需要将棋盘格分别在现场内完成上下前后移动和倾斜棋盘格。上图是我用A4纸做的!最好用大一点的A3大的图也是可以的!
4、在移动过程中,可以看到标定窗口右侧的三条杠的长度在增加,当标定按钮CALIBRATE变亮,就代表已经采集到了足够的数据。按下后如下图:
在这里插入图片描述点击CALIBRATE按钮后标定程序开始自动计算摄像头的标定参数,这个过程需要等待一段时间!千万不要关闭!
参数完成后界面恢复,且在终端会有标定结果显示:
在这里插入图片描述
点击界面中的SAVE按钮,标定参数会被保存到默认的文件夹下,并在终端中看到如下图路径:在这里插入图片描述
点击COMMIT按钮,提交数据并退出程序。在、tmp文件夹中就可以看到标定结果的压缩文件calibrationdata.gz 解压后就可找到ost.yaml文件。

在kinect中除了有开一个RGB摄像头外还有一个红外深度摄像头,两个摄像头需要分别标定:
和前边方法类似红外标定用下边指令:

rosrun camera_calibration cameracalibrator.pyimage:=/camera/ir/image_raw camera:=/camera/ir --size 8x6 --square 0.108

   
   
  • 1

有一点必须注意,在拍摄红外照片时,要用黑胶带(或其他东西)将Kinect的红外发射器完全挡住,否则其发出的散斑会在红外照片中产生很多亮点,不利于棋盘角点的检测。
参考:https://blog.csdn.net/zkl99999/article/details/49307703

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值