我想为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