Opencv 3.0でSIFTを使いたいのですが、エラーが出てしまって困っています。 ソースとエラーコードを以下に記述しますのでどうすればいいか教えていただけないでしょうか。
Opencv 3.0でSIFTを使いたいのですが、エラーが出てしまって困っています。 ソースとエラーコードを以下に記述しますのでどうすればいいか教えていただけないでしょうか。 ソース #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #include <opencv2/xfeatures2d.hpp> int main( int argc, char** argv ) { cv::Mat image, gimage; std::string fname = argv[1]; //画像ファイル読み込み image = cv::imread(fname); //グレースケール画像に変換 cv::cvtColor(image, gimage, cv::COLOR_BGR2GRAY); //DescriptorExtractorを使うためのもの cv::xfeatures2d::initModule_xfeatures2d(); //特徴点抽出 std::vector<cv::KeyPoint> keypoints; cv::Ptr<cv::Feature2D> detector = cv::Feature2D::create("SIFT"); detector->detect(gimage, keypoints); //SIFT特徴量を抽出 cv::Ptr<cv::Feature2D> extractor = cv::Feature2D::create("SIFT"); cv::Mat descriptors; extractor->compute( gimage, keypoints, descriptors ); //画像に描画 cv::drawKeypoints(image, keypoints, image); //画像に表示 cv::imshow( "sift image", image ); cv::waitKey(0); return 0; エラーコード tracking_sample.cpp: In function ‘int main(int, char**)’: tracking_sample.cpp:19:3: error: ‘initModule_xfeatures2d’ is not a member of ‘cv::xfeatures2d’ cv::xfeatures2d::initModule_xfeatures2d(); ^ tracking_sample.cpp:23:37: error: ‘create’ is not a member of ‘cv::Feature2D’ cv::Ptr<cv::Feature2D> detector = cv::Feature2D::create("SIFT"); ^ tracking_sample.cpp:27:38: error: ‘create’ is not a member of ‘cv::Feature2D’ cv::Ptr<cv::Feature2D> extractor = cv::Feature2D::create("SIFT"); よろしくお願いします。
エラーコードの下2つはなんとかなったので一番上のエラーがなぜ出るのかを教えていただきたいです
C言語関連・1,094閲覧・500
ベストアンサー
このベストアンサーは投票で選ばれました