c – 错误:’cv :: fisheye’尚未声明

我想为140度鱼眼镜头编写相机校准.

由于opencv的正常校准不适用于这些镜头,我发现在calib3d束中似乎有一个cv ::鱼眼模块.

但每次我尝试编译我的代码时,g都会说:

error: ‘cv::fisheye’ has not been declared

问题是opencv 2.4.11的文档包含方法和附加命名空间.

我的c文件中包含以下内容:

//OPENCV Stuff
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/features2d/features2d.hpp"

该函数的调用看起来像这样:

double rmsL = cv::fisheye::calibrate(objectPoints, imagePointsLeft, imagesize, cameraMatrices[LEFT], distCoeffs[LEFT], rvecs, tvecs);

我正在使用pkg-config的include路径进行编译

OPENCV = `pkg-config opencv --cflags --libs`

事实上,正常的校准工作正常,以及任何其他opencv相关的东西.

有人在那里能帮我解决这个问题吗?
使用鱼眼校准会很安静,因为宽fov及其对计算视差图的改进.

干杯hGen

最佳答案 你使用这些编译选项吗?

-I/pathto/opencv/include -L/pathto/library lopencv_core
点赞