2015-10-10 4 views
2

Я разрабатываю проект с использованием opencv3.0 с дополнительным модулем, найденным в opencv_contrib github. Im с использованием Xcode 7.0, Yosemite 10.10. я сделал установку в XcodeOpencv 3.0 features2d.hpp error: unknown AlgorithmInfo

Заголовок Путь поиска: /Users/kimloonghew/Documents/opencv/opencv-3.0.0/build/include/USR/местные/Подвал/libiomp/20150401/включить/libiomp/omp.h/USR/местные/включить

Библиотека путь поиска: /Users/kimloonghew/Documents/opencv/opencv-3.0.0/build/lib/USR/местные/Библиотека

Другое Linker Флаг: -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab -lopencv_nonfree -lopencv_ml -lopencv_xfeatures2d

Вот код ниже:

#include <stdio.h> 
#include <stdlib.h> 

#include <iostream> 
#include <fstream> 
#include <dirent.h> 
#include <string> 
#include <unistd.h> 
#include <sys/stat.h> 
#include <sys/types.h> 

#include <opencv2/core.hpp> 
#include <opencv2/opencv.hpp> 
#include <opencv2/features2d/features2d.hpp> 
#include <opencv2/nonfree/nonfree.hpp> 
#include <opencv2/xfeatures2d.hpp> 
#include <opencv2/nonfree/features2d.hpp> 
#include <opencv2/ml/ml.hpp> 

using namespace std; 
using namespace cv; 

int main(int argc, const char * argv[]) { 
    int minHessin = 400; 

    string dir = "/Users/DYKLhew/Documents/Food_proj/MIT/foodcamimages/TRAIN", filepath; 
    DIR *dp; 
    struct dirent *dirp; 
    struct stat filestat; 

    dp = opendir(dir.c_str()); 

    SurfFeatureDetector detector(minHessin); 
    //Ptr<xfeatures2d::SURF> detector = xfeatures2d::SURF::create(minHessin); 
    vector<KeyPoint> keypoints, keypoints_scene; 

    Mat descriptors_object, descriptor_scene; 
    Mat img; 

    cout << "------- build vocabulary ---------\n"; 

    cout << "extract descriptors.."<<endl; 

    int count = 0; 

    while (count++ < 15 && (dirp = readdir(dp))) { 
     filepath = dir + "/" + dirp->d_name; 

     if(stat(filepath.c_str(), &filestat)) continue; 
     if(S_ISDIR(filestat.st_mode))   continue; 

     img = imread(filepath); 

     detector.detect(img, keypoints); 


     cout << "."; 
    } 
    cout << endl; 
    closedir(dp); 

    cout << "Total descriptors : " << count << endl; 

    //BOWKMeansTrainer bowtrainer(150); 


    return 0; 
} 

Когда я запускаю файл, он BUILD неудачу с ошибками, обнаруженных в featuares2d.hpp файлах. Ошибки ниже 1) Неизвестное имя типа 'AlgorigthmInfo'; Вы имели в виду «Алгоригмм»? 2) Нет шаблона с именем 'vector'; Вы имели в виду 'std :: vector?'

Что-нибудь я сделал неправильно при установке или установке opencv? или любой путь ссылки, который я должен определить? Оценка, за ваш совет. Благодарности

ответ

0

Вопросы решаемые:

Xcode компилятор умен и способен предсказать решения его соответствуют к текущей конфигурации машины. Если вы просто следуете предложению, данному компилятором Xcode, проблемы решаются.

системы не признают AlgorigthmInfo, вы можете перейти к Algorigthm, а также vector к std::vector.

Теперь я отлично работаю openCV на своей машине.

Надеюсь, это поможет некоторым другим, если вы столкнетесь с теми же проблемами.