Я получаю следующую ошибку при попытке собрать 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» не называет тип ошибки в других файлах. Возможно, AlgorithmInfo как-то не включается. Есть идеи?
Изучение:
После поиска AlgorithmInfo я обнаружил, что в базе кода нет определения AlgorithmInfo.
По сравнению с предыдущей версией кода я обнаружил, что AlgorithmInfo определен в строке 3006. opencv2 / core.hpp. Но в последнем коде это не присутствует там вообще!
Это не постоянное решение, но у меня была та же проблема, и вот как я смог продолжить работу над проектом, пока кто-то не найдет лучший путь.
Я посмотрел на ссылку, которую опубликовал Уткарш Как использовать SIFT в OpenCV 3.0 с C ++?
Подводя итог, я должен был получить репозиторий opencv_contrib и переделать opencv.
После этого я все еще получил ту же ошибку и в конце концов понял, что
Вы должны включить
#include "opencv2/xfeatures2d.hpp"#include "opencv2/features2d/features2d.hpp"
но вы все равно получите то же самое, если не удалите и не закомментируете
//#include "opencv2/nonfree/features2d.hpp"//#include "opencv2/nonfree/nonfree.hpp"
во всяком случае, так я обошел ошибку на данный момент.