Uniqueness of cameraMatrix from calibration

any change in focus will mess everything up, especially focal lengths.

fix that focus, i.e. disable autofocus. then set the focus manually to a value that’s giving sharp images for the distances you need. don’t be surprised if that turns out to be a value of 0…2 from a range of 0…255 (Logitech C920).

those camera matrices look like you can safely discard them. focal lengths are usually equal because sensor pixels are square. yours aren’t even close, and they aren’t consistent either.

any time you hold the pattern parallel to the image plane, that’s a waste of a photo.

just throw all those pictures away. then read Calibration Best Practices – calib.io thoroughly.

you should start with ideal camera matrices. cx,cy should be (w-1)/2, (h-1)/2 and then calculate fx=fy from a manual measurement:

  • place an object of known length (yard stick, or your pattern) a known distance away from the camera
  • take picture
  • measure width of object in pixels (pick in photoshop or wherever)
  • calculate f [px] = width [px] * distance [m] / width [m]

so if you have a pattern with 20mm squares, and you can measure a length of 11 squares, that’s 220 mm (0.22m). if you put that 1.0 meter away, and measure in the picture that this is 594 pixels, you calculate 594 * 1.0/0.22 = 2700.

that’s good enough for a first estimate

they say the brio has “adjustable” field of view, 65/78/90 degrees diagonally. at full 4K resolution, I’d expect a focal length of about 3500/2700/2200 or thereabouts. it’s hard to be sure because that’s assuming no lens distortion (impossible to guess)