cvCalibrateCamera2 producing varying results
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!