What's the relationship between camera calibration values in ethzasl_ptam & camera_calibration?
Hello, I want to use LSD-SLAM to build a map. However, I cannot get error under 0.5 using PTAM's calibration tool. My camera is Logitech C920, I think it should be good. So I want to use ROS camera_calibration to calibrate it.
However, the parameters given by ROS camera_calibration is different from PTAM's calibration tool.
For ptam calibration:
roslaunch usb_cam usb_cam.launch
ROS_NAMESPACE=usb_cam rosrun image_proc image_proc
roslaunch ptam cameracalibrator.launch
I get 5 parameters:
0.380 0.550 0.480 0.460 0(Cam_fx Cam_fy Cam_cx Cam_cy Cam_s)
As for ROS camera_calibration:
roslaunch usb_cam usb_cam.launch
ROS_NAMESPACE=usb_cam rosrun image_proc image_proc
rosrun camera_calibration cameracalibrator.py --size 11x7 --square 0.019 image:=/usb_cam/image_raw camera:=/usb_cam
I get intrinsic matrix, distortion params, rectification matrix and extrinsic matrix (reference info)
camera matrix
609.710537 0.000000 303.200522
0.000000 606.011374 258.905227
0.000000 0.000000 1.000000
distortion
0.084930 -0.153198 0.011283 -0.000882 0.000000
rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
projection
619.344421 0.000000 301.908097 0.000000
0.000000 611.951660 262.464081 0.000000
0.000000 0.000000 1.000000 0.000000
The parameters above are all obtained from the C920 camera, does anyone know how to transform the matrices given by ROS camera_calibration to PTAM's 5 parameters?
Thanks.