未定义引用cv :: fisheye :: calibrate

时间:2019-02-05 21:55:01

标签: c++ opencv ros camera-calibration fisheye

我正在尝试使用cv :: fisheye :: calibrate fucntion校准我的鱼眼镜头。但是,在尝试编译时出现以下错误。

`undefined reference to 'cv::fisheye::calibrate(cv::_InputArray const&, cv::_InputArray const&, cv::Size_<int> const&, cv::_InputOutputArray const&, cv::_InputOutputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, int, cv::TermCriteria)'`

我包含了以下标题

#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/features2d/features2d.hpp"

我的CMakeLists包含OpenCV2,我的ROS节点也与OpenCV链接

find_package(OpenCV 2 REQUIRED)

add_executable(cam_features src/main.cpp)
target_link_libraries(cam_features ${catkin_LIBRARIES} ${OpenCV_LIBS} ${Eigen_LIBRARIES})

我不确定我要去哪里。有人可以指出可能的错误吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

我通过清洁构建产品来完成这项工作。另外,我让软件包保留在OpenCV而非OpenCV2上。