kinect内参数的标定

举报
小小谢先生 发表于 2022/04/16 01:44:14 2022/04/16
【摘要】 在标定之前,需要确保ROS中安装有OpenNI驱动包和相机标定包,同时下载一个标准的6X8的棋盘格,如下图: 标定步骤: 1、运行下边指令启动OpenN...

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

roslaunch openni_launch openni.launch

    
   
   
  • 1
  • 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
  • 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
  • 1

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

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xiewenrui1996/article/details/90111610

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。