OpenCV learning: Why is the focal length in the camera internal reference divided into fx and fy?

Let me talk about the conclusion first:

Two different focal lengths are introduced because individual pixels are rectangular rather than square on low-cost imaging devices.

General understanding:

Take the CMOS sensor as an example. In fact, when we discuss several parameters of the camera’s internal parameters, we use pixel coordinates, and the unit is (pixel). The actual length corresponding to each pixel unit is different, which is equivalent to the different scales of the x and y axes, so the focal length f corresponding to these two directions will also be different.

Specific arguments:

Let the length of a single pixel be p_{x}, the width be py_{y}, and the unit be (mm);

Set the number of pixels per mm in the x/y direction to be s_{x} / s_{y}, the unit is (pixel/mm);

Then the focal length in the x direction f_{x} = s_{x} \times fand the focal length in the y direction f_{y} = s_{y} \times f, the unit is (pixel);

At that timep_{x} = p_{y} , f_{x} = f_{y} = f, corresponding to the case where the aspect ratio of a single pixel is the same, at this time  f_{x}, f_{y} can be unified;

And when the aspect ratio of a single pixel is different, p_{x}\neq p_{y}, there is s_{x}\neq s_{y}, so f_{x} \neq f_{y};

Therefore, we must use f_{x}and f_{y}distinguish the focal lengths in the x and y directions respectively.

Guess you like

Origin blog.csdn.net/Eason_Y/article/details/127645651