Reprojected points not matching the checkerboard image
54 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jiajian
il 24 Ott 2025 alle 18:20
I tried to manually visuallize my multi-cam calibration results and I was stuck at the following issue:
I first visualized the imagePoints extracted from detectCheckerboardPoints onto my image. This step was fine (I could tell that the points were located exactly at the checkerboard intersections).
Then I visualized the reprojected points from the result of estimateMultiCameraParameters. I obtained these points in this path:
multiParams.CameraParameters{:}.ReprojectedPoints(:,:,:)
However, I found the reprojectedPoints were not matching the imagePoints well. I found the reprojected points shared the same origin as the detected points, but had a rotational difference (see image belowm, red dots are imagePoints and blue circles are reprojectdPoints). The reprojection error in this calibration is only 0.4 pixel, with less than 1 pixel for all single images.



Can anyone explain this for me. I appreciate your answer.
6 Commenti
Risposta accettata
Qu Cao
il 27 Ott 2025 alle 20:17
The problem stems from an incorrect rotationVector assignment in estimateMultiCameraParameters. To fix the issue, please change Line 111 in estimateMultiCameraParameters
from
rotationVectors(i, :) = rotmat2vec3d(patternExtrinsics(viewIdx, camIdx).R');
to
rotationVectors(i, :) = rotmat2vec3d(patternExtrinsics(viewIdx, camIdx).R);
Note that the transpose should be removed.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su MATLAB Support Package for USB Webcams in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!