cvCalibrateCamera2 producing varying results

asked 2014-04-03 12:00:48 -0600

iko79 gravatar image

updated 2014-04-03 12:02:36 -0600

Hi folks,

I have a question that has been asked several times before (although not here), but didn't seem to receive an answer so far, at least I couldn't find one.

I'm trying to get accurate intrinsic parameters for my cameras (IR-sensors of Kinects and Asus Xtions) for some time now and I always seem to fail because cvCalibrateCamera2 reports different results every time. I use a checker board of 8x6 30mm-squares and capture 20 VGA frames for the calibration. In the past I tried calculating intrinsics from scratch (flags=0) and found that the results are not satisfying at all. Then I tried with CV_CALIB_USE_INTRINSIC_GUESS, using initial paramerters of f=570.34, cx=320, cy=240. (Aside from that I use the flags for fixing aspect ratio, zero tangent dist and k1 thru k3). From this I get strongly varying results again. I did several iterations, each of which building in the result of the previous ones (I realize that the matrices here are transposed):

initial matrix: [ 570, 0, 0] [ 0, 570, 0] [ 320, 240, 1]

after iteration 1: [ 595, 0, 0] [ 0, 595, 0] [ 320, 239, 1]

after iteration 2: [ 561, 0, 0] [ 0, 561, 0] [ 317, 230, 1]

after iteration 3: [ 609, 0, 0] [ 0, 609, 0] [ 325, 239, 1]

after iteration 4: [ 559, 0, 0] [ 0, 559, 0] [ 326, 226, 1]

after iteration 5: [ 564, 0, 0] [ 0, 564, 0] [ 313, 237, 1]

after iteration 6: [ 569, 0, 0] [ 0, 569, 0] [ 319, 228, 1]

Does this make any sense to you? I would highly appreciate somebody giving me some advise or even some guess what I might be doing wrong since I'm already struggling for some time with this.

Thanks!

edit retag flag offensive close merge delete