I wanted to write a camera calibration for a lens with a 140-degree lens. Since normal opencv calibration does not work with these lenses, I found that calib3d seems to have a cv :: fisheye module in it.
But every time I try to compile my code, g ++ states:
error: ‘cv::fisheye’ has not been declared
the problem is that the opencv 2.4.11 documentation contains methods and an extra namespace.
My C ++ file has the following elements:
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/features2d/features2d.hpp"
the function call is as follows:
double rmsL = cv::fisheye::calibrate(objectPoints, imagePointsLeft, imagesize, cameraMatrices[LEFT], distCoeffs[LEFT], rvecs, tvecs);
I am compiling with the path included for pkg-config
OPENCV = `pkg-config opencv --cflags --libs`
In fact, normal calibration works correctly, as well as any other things related to opencv.
- ?
- fov .
hGen