uzh-rpg / rpg_open_remode

This repository contains an implementation of REMODE (REgularized MOnocular Depth Estimation), as described in the paper.
http://rpg.ifi.uzh.ch/docs/ICRA14_Pizzoli.pdf
GNU General Public License v3.0
488 stars 187 forks source link

Camera calibration #17

Open ydirey opened 8 years ago

ydirey commented 8 years ago

Hello,

how do I derive the calibration parameters (cam_k1, cam_k2, cam_r1, cam_fx, cam_cx etc.)?

How do these parameter names relate to the matrices rendered here? http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html

Is the calibration for REMODE different to that for SVO?

Thank you!

Best, Yaroslav

kilmarnock commented 7 years ago

This is a good question. Unfurtunatelly, the duplicity is not prooven by a link. opencv does camera, distortion, rectification, projection matrixes. remode wants 8 values, svo 5.

kilmarnock commented 7 years ago

remode wants fx, fy, cx, cy, k1, k2, r1, r2 ros camera calibrator delivers fx, fy, cx, cy, d0, d1, d2, d3

An example is here (from ros camera_calibration parsers):

image_width: 2448 image_height: 2050 camera_name: prosilica camera_matrix: rows: 3 cols: 3 data: [4827.94, 0, 1223.5, 0, 4835.62, 1024.5, 0, 0, 1] distortion_model: plumb_bob distortion_coefficients: rows: 1 cols: 5 data: [-0.41527, 0.31874, -0.00197, 0.00071, 0] rectification_matrix: rows: 3 cols: 3 data: [1, 0, 0, 0, 1, 0, 0, 0, 1] projection_matrix: rows: 3 cols: 4 data: [4827.94, 0, 1223.5, 0, 0, 4835.62, 1024.5, 0, 0, 0, 1, 0]

Which would you describe as k1, k2, r1, r2 ? Thank you

kilmarnock commented 7 years ago

A rough guess is to use the distortion coefficients, k1, k2, p1, p2 from left to right. The results seem plausible.

AlexisTM commented 6 years ago

Using Kalibr?