首页 > 代码库 > 标定Kinect v2彩色摄像头:使用iai_kinect2,采用qhd(960*540)大小的彩色图像
标定Kinect v2彩色摄像头:使用iai_kinect2,采用qhd(960*540)大小的彩色图像
开篇一作,这篇博文是纯应用的,没有任何理论说明,就当是一个实践提醒啦。
安装kinect v2相机驱动和标定程序得益于下面二位前辈的引荐工作:
http://www.cnblogs.com/gaoxiang12/p/5161223.html
http://www.cnblogs.com/hitcm/p/5118196.html
十分感谢!
请读者先按照上面前辈的博文安装好libfreenect2和iai_kinect2。
在iai_kinect2标定步骤中(https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration)输入命令:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color
后,弹出显示图像的窗口,在终端中显示信息:
[ INFO] [main] Start settings:
Mode: record
Source: color
Board: chess
Dimensions: 5 x 7
Field size: 0.03
Dist. model: 5 coefficients
Topic color: /kinect2/hd/image_mono
Topic ir: /kinect2/sd/image_ir
Topic depth: /kinect2/sd/image_depth
Path: ./
说明默认标定程序使用的彩色图像大小是hd(1920*1080),标定出的相机内参数矩阵只适合于1920*1080大小的图像。
为了使用Kinect v2采集的qhd(960*540)、或sd(480*270)的彩色图像,需要相应的标定出的相机内参。
于是,贴出我的实践经验:
在 catkin_ws/src/iai_kinect2/kinect2_calibration/src 文件夹下找到:kinect2_calibration.cpp 文件。查看该文件中1311-1313这三行命令:
std::string topicColor = "/" + ns + K2_TOPIC_HD + K2_TOPIC_IMAGE_MONO;
std::string topicIr = "/" + ns + K2_TOPIC_SD + K2_TOPIC_IMAGE_IR;
std::string topicDepth = "/" + ns + K2_TOPIC_SD + K2_TOPIC_IMAGE_DEPTH;
正好和上面的输出信息:
Topic color: /kinect2/hd/image_mono
Topic ir: /kinect2/sd/image_ir
Topic depth: /kinect2/sd/image_depth
对应,因此把 K2_TOPIC_HD 改为 K2_TOPIC_QHD 即可。保存。然后重新编译:
cd ~/catkin_ws (进入自己路径下的catkin_ws文件夹)
catkin_make -DCMAKE_BUILD_TYPE=
"Release"
rospack profile
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color
则弹出来的窗口显示的是960*540的图像,其他道理相同。
标定Kinect v2彩色摄像头:使用iai_kinect2,采用qhd(960*540)大小的彩色图像