Error: 'cv :: fisheye has not been declared

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:

//OPENCV Stuff
#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

+4
2

?

-I/pathto/opencv/include -L/pathto/library lopencv_core
+1

error: ‘cv::fisheye’ has not been declared - . . , defnitions cv::fisheye.

.

#include "path/to/opencv2/.....h"

-I.

g++ -I<path to opencv2> *.cpp -l <path to opencv2 lib> -o <target-name>

+1

All Articles