Reputation: 1261
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.
Upvotes: 46
Views: 41363
Reputation: 3
Yes. If your pixel is square shaped meaning physical width and height of the pixel are the same (e.g. 3.45x3.45 micron) then the fx = fy (e.g. fx = fy= 21000 pixels).
But if the pixel's width and height are different and the pixel is like a rectangle shape (e.g. 3.45x2.7 micron) then fx and fy will be different (e.g fx = 21000 pixels and fy = 18000 pixels ).
Upvotes: 0
Reputation: 1375
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 = F*sx and fy = F*sy can be derived without actually dismantling the camera and measuring its components directly.
Upvotes: 48