openCV は、新しいバージョンで機能検出器/記述子を (通常どおり) 変更しました。私はすでに追加する必要があることを発見しました
#include "opencv2/nonfree/nonfree.hpp"
#include "opencv2/nonfree/features2d.hpp"
ただし、まだ機能しません。私が得るエラーは次のとおりです。
error: ‘cv::SIFT::DetectorParams’ has not been declare
ビルドには標準コマンドを使用します
gcc `pkg-config --cflags --libs opencv` -o descriptorExtractor main.cpp
すべてのライブラリなどが正しくリンクされている必要があります
pkg-config --cflags --libs opencv
-I/opt/ros/fuerte/include/opencv -I/opt/ros/fuerte/include -L/opt/ros/fuerte/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_ts -lopencv_video -lopencv_videostab
再びopenCVの何が問題になっていますか? 他のソフトウェアやバイナリではなく、openCV の SIFT が必要な理由を聞かないでください。必要なだけです...