Hi all. I am using calibrateCamera() to find the intrinsics matrix and the distortion parameter of a camera that I have. The camera has a wide field of view (~120 degrees) so I decided to use the rational model. The calibration results themselves look good, as if I undistort the chessboard images that I took the lines look straight and the correction overall looks as it should be.
My problem is with trying to calculate an accurate field of view from the calibration results. The manufacturer datasheet says that the horizontal field of view is 122 degrees, but if I use the values in the intrinsics matrix with this formula
to calculate it the result I obtain is 90 degrees, which is way too small.
When I tried using a distortion model with fewer coefficients the intrinsics values changed, so I assume that I should take the distortion coefficients into account when calculating the field of view, but how exactly? Should I use the intrisics matrix returned by getOptimalNewCameraMatrix() instead, but which value of the parameter alpha should I use then?