How to run the Stereo camera calibrator with a fixed intrinsic parameters?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have three cameras A, B and C, when I stereo calibrate A B and B C, the intrinsic parameters computed for B is different for those two cases, and I can only place the checkerboard at limited locations where it is visible on both views.
Is it possible to calibrate A individually, B individually, and C individually to get a set of intrinsic parameters, so the checkerboard can cover most part of the camera, and then feed the intrinsic parameters into the stereo camera calibrator app just to get the extrinsic parameters? Please let me know.
On the side note, the camera calibration toolbox from Caltech has the option to not re-optimize the intrinsic parameters so it suit my purposes but it can't detect corners automatically and from the benchmarks I saw the accuracy is worse than the Matlab 2014 A or B camera calibration app.
1 commentaire
Cameron Swanson
le 4 Sep 2019
I know this post is quite old now but I hoped you could maybe help (or someone else who sees it!). Tearing my hair out with this one. I have the same problem with intrinsics differing, my fix for that has simply been to take the average of the two, a little rudimentary I know..
My question actually relates to transforming the translations and rotations of the 3rd camera into the coordinate system of the 1st camera (from the 2nd camera).
This is the way I have been doing it but it doesn't seem right. Any idea how this can be done?
C2Rot=stereoParams12.RotationOfCamera2;
C2Tra=stereoParams12.TranslationOfCamera2;
C3Rot=stereoParams12.RotationOfCamera2*stereoParams23.RotationOfCamera2;
C3Tra=stereoParams12.TranslationOfCamera2+(stereoParams23.TranslationOfCamera2*stereoParams12.RotationOfCamera2);
% stereoParams12: Calibration of cameras 1&2
% stereoParams23: Calibration of cameras 2&3
Cheers!
Réponses (2)
Dima Lisin
le 1 Nov 2014
Hi Jason,
Unfortunately the Camera Calibrator app does not currently have this capability. You can try working around this limitation. Calibrate the stereo pair (A,B) to get stereoParamsAB. Then calibrate the pair (B,C) to get stereoParamsBC. Then replace the intrinsics for camera B in stereoParamsBC with the values from stereoParamsAB. You would have to create a new stereoParameters object "by hand", because those properties are not settable. Of course, if you do this, your accuracy will probably suffer.
Out of curiousity, do you only use 3 cameras, or do you use more than 3?
0 commentaires
Jason
le 1 Nov 2014
1 commentaire
Dima Lisin
le 1 Nov 2014
Hi Jason,
The only thing I can suggest here is to calibrate each camera individually, and then do your own optimization to find the rotations and translations between the cameras. If you have the Optimization Toolbox, you can use functions like lsqnonlin or lsqcurvefit to do non-linear least squares.
Voir également
Catégories
En savoir plus sur MATLAB Support Package for USB Webcams dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!