2016-06-14 806 views
0

我试图运行的代码片段在下面的OpenCV/C++示例http://docs.opencv.org/3.1.0/d7/dff/tutorial_feature_homography.html#gsc.tab=0C++中的OpenCV findHomography()函数

部分代码下面给出未定义rererence:

std::vector<Point2f> obj; 
std::vector<Point2f> scene; 
for(size_t i = 0; i < good_matches.size(); i++) 
{ 
    //-- Get the keypoints from the good matches 
    obj.push_back(keypoints_object[ good_matches[i].queryIdx ].pt); 
    scene.push_back(keypoints_scene[ good_matches[i].trainIdx ].pt); 
} 
Mat H = findHomography(obj, scene, RANSAC); 

我得到以下编译就行错误

/home/yudori/Documents/qt_projects/featureTest/main.cpp:57: error: undefined reference to `cv::findHomography(cv::_InputArray const&, cv::_InputArray const&, int, double, cv::_OutputArray const&, int, double)' 

Mat H = findHomography(obj, scene, RANSAC); 

我检查了“calib3d.hpp”头文件,它似乎包含findHomography函数的类似声明,但我忍不住想我错过了一些东西。我在Ubuntu上运行opencv 3.1.0,我对C++很陌生,请帮忙。

回答

2

如果你在Linux上工作添加到您的编译字符串-lopencv_calib3d,如果你是在Windows和Visual Studio的工作,在其他库添加opencv_calib3d

+0

感谢...我不知道怎么说跳过过去我 :) – yudori