首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:‘cv::fisheye’尚未声明

错误:‘cv::fisheye’尚未声明
EN

Stack Overflow用户
提问于 2015-03-29 23:07:31
回答 2查看 3.8K关注 0票数 4

我想写一个140度鱼眼镜头的相机校准。由于opencv的正常校准不适用于这些镜头,我发现在calib3d捆绑包中似乎有一个cv::fisheye模块。

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

代码语言:javascript
复制
error: ‘cv::fisheye’ has not been declared

问题是opencv 2.4.11的文档包含方法和额外的命名空间。

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

代码语言:javascript
复制
//OPENCV Stuff
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/features2d/features2d.hpp"

函数的调用如下所示:

代码语言:javascript
复制
double rmsL = cv::fisheye::calibrate(objectPoints, imagePointsLeft, imagesize, cameraMatrices[LEFT], distCoeffs[LEFT], rvecs, tvecs);

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

代码语言:javascript
复制
OPENCV = `pkg-config opencv --cflags --libs`

事实上,正常的校准工作正常,就像任何其他opencv相关的工作一样。

有没有人能帮我解决这个问题?这将是非常好的使用鱼眼校准,因为宽视场和它的改进计算视差图。

干杯hGen

EN

回答 2

Stack Overflow用户

发布于 2015-04-26 14:17:10

您是否使用这些编译选项?

代码语言:javascript
复制
-I/pathto/opencv/include -L/pathto/library lopencv_core
票数 1
EN

Stack Overflow用户

发布于 2015-04-28 19:47:07

error: ‘cv::fisheye’ has not been declared是一个编译错误。不是链接器错误。这意味着,您的编译器无法查找cv::fisheye的定义。

或者尝试给出明确的路径。

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

-I开关中提供包含路径。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29330771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档