Ошибки OpenCV «не является членом ‘cv'» при попытке скомпилировать некоторый код

#c #opencv

#c #opencv

Вопрос:

Я пытался скомпилировать следующую библиотеку визуальной одометрии: https://github.com/HKUST-Aerial-Robotics/VINS-Mono но при попытке сделать это с OpenCV 4.0 я получаю несколько ошибок «ошибка: «x» не является членом ошибок «cv». Было несколько таких ошибок, связанных с такими вещами, как RGB2GRAY, которые я смог найти в Google и выяснить, как обновить, но осталось несколько ошибок, которые я не смог выяснить, как обновить. Они заключаются в следующем:

  1. ошибка: ‘SHAPE_CROSS’ не является членом ‘cv’
  2. ошибка: ‘SHAPE_RECT’ не является членом ‘cv’
  3. ошибка: ‘TERMCRIT_EPS’ не является членом ‘cv’
  4. ошибка: ‘TERMCRIT_ITER’ не является членом ‘cv’

Кто-нибудь знает, какие исправления для них будут для OpenCV 4.0? Заранее спасибо.

Комментарии:

1. Я не нахожу никакого «SHAPE_CROSS» в этом репозитории

2. Привет, @Dominota! Я нахожу все это в Chessboard.cc например, в файле camera_model/src/chessboard/Chessboard.cc в строке 215 есть SHAPE_CROSS, который я изменил на cv::SHAPE_CROSS (аналогично тому, как я исправил ошибки RGB2GRAY), но это исправление здесь не работает

3. ЛОЛ, ты показываешь только «SHAPE_CROSS, почему это «CV_SHAPE_CROSS». Вот почему я не нашел именно такой работы.

Ответ №1:

Нашел свое решение после еще нескольких поисков в Google:

CV_SHAPE_CROSS —> cv::MORPH_CROSS

CV_SHAPE_RECT —> cv::MORPH_RECT

CV_TERMCRIT_EPS —> cv::TermCriteria::EPS

CV_TERMCRIT_ITER —> cv::TermCriteria::MAX_ITER