rameau-fr / MC-Calib

A generic and robust calibration toolbox for multi-camera systems
MIT License
399 stars 57 forks source link

Calibration::initCameraGroup() initial camera relative pose #37

Closed minxuanjun closed 1 year ago

minxuanjun commented 1 year ago

https://github.com/rameau-fr/MC-Calib/blob/dca41de74f9859e326eb55407811f4560843cb29/src/Calibration.cpp#L999 because inter_cameratransform[cam1_cam2_pair] defines the pose of cam1 frame to cam2 frame, the transform chain formation from reference camera to current camera should be transform = current_trans*transform;

rameau-fr commented 1 year ago

Thank you very much for your comment; I believe that all the relative camera transformations (and camera groups) are inverted by default. Therefore, the original code should be valid. If I remember properly, I checked it in detail during development, but I have to admit that the notation is confusing. Have you tried to perform this modification and re-compile it? I assume it should not work anymore if you do so. Have you managed to calibrate your own camera system? Note that the same transformation is used in MergeCameraGroups.

I do not have time to check it in detail right now, but it could be good to refactor this part of the code for clarity. Please keep us in touch if you have any tests regarding that particular point.