Ошибка opencv 3.0 features2d.hpp: неизвестно AlgorithmInfo

Я разрабатываю проект, используя opencv3.0 с дополнительным модулем, найденным в opencv_contrib github. Я использую Xcode 7.0, Yosemite 10.10.
Я сделал настройку в Xcode

Путь поиска заголовка:
/Users/kimloonghew/Documents/opencv/opencv-3.0.0/build/include /usr/local/Cellar/libiomp/20150401/include/libiomp/omp.h / usr / local / include

Путь поиска библиотеки:
/Users/kimloonghew/Documents/opencv/opencv-3.0.0/build/lib / usr / local / lib

Другой 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»; Вы имели в виду «Algorigthm»?
2) Нет шаблона с именем «вектор»; Вы имели в виду ‘std :: vector?’

Что-то я сделал не так при установке или установке opencv? или какой-либо путь ссылки я должен определить?
Благодарим Вас за совет. Спасибо

2

Решение

Решенные проблемы:

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

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

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

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]