2016-06-14 4 views
0

Ich habe versucht, in der folgenden opencv/C++ Beispiel http://docs.opencv.org/3.1.0/d7/dff/tutorial_feature_homography.html#gsc.tab=0C++ undefined rererence in opencv findHomography() Funktion

Teil des Codes den Code-Schnipsel läuft unten gegeben:

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); 

ich folgendes kompilieren Fehler

/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)' 

auf der Linie

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

Ich überprüfte die Header-Datei "calib3d.hpp" und es scheint ähnliche Deklarationen für die findHomography-Funktion zu enthalten, aber ich kann nicht helfen, aber denke, dass ich etwas vermisse. Ich laufe opencv 3.1.0 auf Ubuntu und ich bin ziemlich neu in C++, bitte helfen.

Antwort

2

Wenn Sie auf Linux arbeiten diesen -lopencv_calib3d zu Ihrer Kompilierung Zeichenfolge hinzuzufügen, und wenn Sie auf Windows und Visual Studio arbeiten, fügen Sie opencv_calib3d in Weiteren Bibliotheken

+0

Dank ... Ich weiß nicht, wie die Vergangenheit übersprungen mich :) – yudori