2015-04-20 3 views
3

Я получаю следующее сообщение об ошибке при попытке построить OpenCV с модулем CONTRIBOpenCV: «AlgorithmInfo» не называет тип при строительстве opencv_contrib

/opencv/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:577:11: error: ‘AlgorithmInfo’ does not name a type 

кода является последним и вытащил только сейчас. После добавления форвардной декларации class AlgorithmInfo; к файлу tracker.hpp эта конкретная ошибка исчезла, но я получаю другую '' AlgorithmInfo '' не называет ошибки типа в других файлах. Вероятно, АлгоритмИнфо не входит в какое-то время. Есть идеи?

Исследование:

  1. После AlgorithmInfo оглавлению я обнаружил, что нет Defination из AlgorithmInfo в коде.

  2. По сравнению с предыдущей версией кода, который я нашел AlgorithmInfo определен в opencv2/core.hpp линии 3006. Но в последнем коде, это нет там вообще!

+0

Если вы используете opencv3, вы можете попробовать использовать xfeatures2d.hpp и другие новые дополнения для Contrib. По-видимому, они должны использоваться по-другому. проверьте [link] (http://stackoverflow.com/questions/27533203/how-do-i-use-sift-in-opencv-3-0-with-c) –

ответ

0

Это не постоянное решение, но у меня была такая же проблема, и вот как я смог продолжить работу над проектом, пока кто-то не найдет лучший способ.

Я посмотрел на ссылку, которая Utkarsh размещена How do I use SIFT in OpenCV 3.0 with c++?

Подводя итог, я должен был получить opencv_contrib репо и римейк OpenCV.

После этого я еще получил ту же ошибку, и в конце концов понял, что вы должны включить

#include "opencv2/xfeatures2d.hpp" 
#include "opencv2/features2d/features2d.hpp" 

, но вы все равно получите то же самое, если вы не удалите/закомментируйте

//#include "opencv2/nonfree/features2d.hpp" 
//#include "opencv2/nonfree/nonfree.hpp" 

в любом случае это как я обошел ошибку в настоящее время.