initCameraMatrix2D gives different results for similar cameras
I have calibration images that show the 3D vertices of a semi-transparent cube. There is only one image per camera, though. Since initCameraMatrix2D
only supports 2D calibration patterns from different angles I tool the six faces of the cube as patterns and set the last coordinate to zero. This gave me six sets of four points each. For two supposedly similar cameras, I got a focal length that differed by a factor 6.
When I have an image of a 2D calibration pattern right from the top, is there any way the calibration can work? I figured that in this particular case, only the ratio f/z
can be computed, but not f
individually if the camera position is not known (which I do not know). So I do need an image from the calibration pattern from an off angle to get some information about the focal length, right?
Is there something I did wrong with the calibration using the data that I have?