0

I am working on a project to calibrate fisheye cameras, the main problem is that i want to save the parameters obtained in the calibration.

Using cv::calibrateCamera(), Camera Matrix is a cv::Mat that using cv::FileStorage i can easy read and write. Using cv::fisheye::calibrate() Camera Matrix is a cv::Matx33d, and i can't work with it using cv::FileStorage.

I read the openCV documentation and the arguments are the same in both methods, but i want to know if you obtain the same results, because maybe, arguments passed are the same, but algorithm inside the method could change.

Thank you

Rhathin
  • 1,176
  • 2
  • 14
  • 20
Alejandro
  • 31
  • 1
  • 6

1 Answers1

0

Coefficients are the same, but the equation to get them is different. You need to read about the difference between fisheye camera model and pinhole camera model in opencv.

hagor
  • 304
  • 1
  • 15
  • Thanks hagor for your quickly answer. So, i will go to read about those differences, but in summary, i would obtain same Camera Matrix, but the equations to get it are different right ? – Alejandro Sep 10 '18 at 15:10
  • you will get 2 matrixes one is 3by3 with fx, fy, cx, cy where cx and cy are principal center of your camera sensor and fx, fy are focal lengthes in horisontal and vertical axis. Second matrix is distortion coefficients which will map your image to rectangle. In pinhole camera model there are k1 k2 k3 k4 p1 p2 p3 p4 b1 b2 coefficients which describe radial and tangencial distortions. For fish eye cameras you have k1 k2 k3 k4 and the description of distortion equasion is very differen from pinhole model. – hagor Sep 10 '18 at 22:45