OpenCV and Bundle adjustment

asked 2018-10-22 09:57:54 -0600

klayman gravatar image


I have an estimate of camera internal calibration done using calibratecamera, and an estimated trajectory computed using solvepnp. The issue is that it's not accurate enough for my purpose, so I would like to refine it with bundle adjustment.

My camera is 1:1 aspect ratio and the principal point is definitely off the center.

What would you recommend? Seems like I have the options - ceres solver. I will need to write my own conversion code from/to OpenCV - cvsba: already integrated with OpenCV - others?

edit retag flag offensive close merge delete


may be you can find an answer in this sample

LBerger gravatar imageLBerger ( 2018-10-22 11:01:07 -0600 )edit

Hello, thanks for the sample. Is the "reconstruct" function equivalent to bundle adjustment? So the process would look like: 1) calibrate camera 2) solvePnp 3) reconstruction for refinement ? I will try it as it's definitely easier than throwing in a new library altogether. Other opionions? As an even simpler form of "bundle adjustment", could I use non planar markers for calibratecamera?

klayman gravatar imageklayman ( 2018-10-22 11:22:43 -0600 )edit

Sounds like I need the ceres solver build on windows, then I need to also build the SFM module myself. Besides, I see that the SFM module is not free for commercial projects?

klayman gravatar imageklayman ( 2018-10-22 12:27:55 -0600 )edit