The following image is the example that was given in my computer vision class. Now I cant understand why we are getting 2 unique values of f. I can understand if mxf and myf are different, but shouldn't the focal length 'f' be the same?
Asked
Active
Viewed 257 times
0
-
that's a weird formulation. where did you get this from? they probably just want to suggest that f, calculated from each of both figures, has a slightly different result. – Christoph Rackwitz Nov 22 '22 at 12:09
-
@ChristophRackwitz Thats exactly what I am wondering. Why is f calculated from both of the values different? – Rohaan Manzoor Nov 22 '22 at 13:20
-
1did you expect two _measurements_ to agree _exactly_? both numbers differ by ~0.26% which is a fairly good measurement error. – Christoph Rackwitz Nov 22 '22 at 14:02
-
That part implicitly includes "aspect ratio". (They should be written as separately like fx and fy.) – fana Nov 24 '22 at 04:06
2 Answers
0
I believe you have an Fx and a Fy. This is so that the the matrix transforms on f can scale f in two directions x and y. IIRC this is why you get 2 f numbers

i_shoot_photos
- 166
- 2
- 15
-
no, that's what the `mx` and `my` are for, to describe the resolution of the sensor. – Christoph Rackwitz Nov 24 '22 at 18:45
-
"Now I cant understand why we are getting 2 unique values of f" OP is talking about f, which is the way (more freedom) to scale f – i_shoot_photos Nov 24 '22 at 18:51
0
If really single f
wanted, it should be modeled in the camera model used in calibration.
e.g. give the mx
,my
as constants to the camera model, and estimate the f
.
However, perhaps the calibration process that obtained that K
was not that way, but treated the two elements (K(0,0)
and K(1,1)
) independently.
In other words, mx
and my
were also estimated in the sense of dealing with the aspect ratio.
The estimation result is not the same as the values of mx
and my
calculated from the sensor specifications.
This is why you got 2 values.

fana
- 1,370
- 2
- 7
-
I wrote "In other words, ...", but of course the calibration process doesn't really deal with `mx`, `my`. "The value of `K(0,0)` should be `mx * f`", is just your assuming. – fana Nov 25 '22 at 01:57