kinect 2 for xbox畸变矫正
畸变校正的详细方法在iai_kinect2/kinect2_calibration的readme文件中。
由于通过kinect2获得的图像数据有不同的模式( 如sd(512x424),qhd(960x540),hd(1920x1080) ),其中根据上述readme文件中提到的方法获得的相机内参对应于hd模式的图像。
所以如果想要获得点云的话(一般为qhd模式下的图像数据,hd模式下运算量太大),要注意图像数据对应的内参。
hd的相机内参文件(根据readme方法):
%YAML:1.0 --- cameraMatrix: !!opencv-matrix rows: 3 cols: 3 dt: d data: [ 1.0629686167444786e+03, 0., 9.4545163246646666e+02, 0., 1.0638452410861685e+03, 5.3396055872337388e+02, 0., 0., 1. ] distortionCoefficients: !!opencv-matrix rows: 1 cols: 5 dt: d data: [ 1.0454455911166596e-01, -2.0736248256143758e-01, -1.3206764382120287e-03, -3.8623185136239189e-04, 1.2439418284703108e-01 ] rotation: !!opencv-matrix rows: 3 cols: 3 dt: d data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1. ] projection: !!opencv-matrix rows: 4 cols: 4 dt: d data: [ 1.0629686167444786e+03, 0., 9.4545163246646666e+02, 0., 0., 1.0638452410861685e+03, 5.3396055872337388e+02, 0., 0., 0., 1., 0., 0., 0., 0., 1. ]
在qhd模式下,相机内参数据应为:
# camera camera.cx=472.726; camera.cy=266.980; camera.fx=531.484; camera.fy=531.923;
大致相差两倍 qhd(960x540),hd(1920x1080)。
欢迎交流。