In the pinhole camera model there is only one focal length which is between the principal point and the camera center.
However, after calculating the camera's intrinsic parameters, the matrix contains
(fx, 0, offsetx, 0,
0, fy, offsety, 0,
0, 0, 1, 0)
Is this because the pixels of the image sensor are not square in x and y?
Thank you.
In short: yes. In order to make a mathematical model that can describe a camera with rectangular pixels, you have to introduce two separate focal lengths. I'll quote from the often recommended "Learning OpenCV" (p. 373) which covers that section pretty well and which I recommend getting if you would like more background on this:
"The focal length fx (for example) is actually the product of the physical focal length of the lens and the size sx of the individual imager elements (this should make sense because sx has units of pixels per millimeter while F has units of millimeters, which means that fx is in the required units of pixels). [...]
It is important to keep in mind, though, that sx and sy cannot be measured directly via any camera calibration process, and neither is the physical focal length F directly measurable. Only the combinations fx = Fsx and fy = Fsy can be derived without actually dismantling the camera and measuring its components directly."
来源:https://stackoverflow.com/questions/16329867/why-does-the-focal-length-in-the-camera-intrinsics-matrix-have-two-dimensions