модуль contrib отсутствует в opencv 3.0?

Я использую OpenCV 3.0 beta.

Я пытался создать распознаватель лица с помощью createLBPHFaceRecognizer (); класс как,

   **Ptr <FaceRecognizer> model =  createLBPHFaceRecognizer();**

ошибка у меня есть

   **error: 'createLBPHFaceRecognizer' was not declared in this scope**

Я исследовал и обнаружил, что класс существует в contrib модуль opencv2
(opencv2 / contrib / contrib.hpp) в предыдущих версиях OpenCV

Но этот модуль не доступен в бета-версии opencv 3.0.
Так, где классы распознавателя определены в opencv 3.0?

Если они не определены, как мы можем добавить этот модуль в дополнение к существующим модулям?

9

Решение

вам придется скачать и собрать opencv_contrib Сделки РЕПО.

после запуска cmake, make, make install,

#include <opencv2/face.hpp>

// note the additional namespace:
cv::Ptr <cv::face::FaceRecognizer> model = cv::face::createLBPHFaceRecognizer();
// proceed as usual
9

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

от https://github.com/opencv/opencv_contrib:

  1. Запустить cmake-gui
  2. Выберите папку с исходным кодом opencv и папку, в которой находятся двоичные файлы
    будет построен (2 верхние формы интерфейса)
  3. Нажмите кнопку настройки. вы увидите всю сборку opencv
    параметры в центральном интерфейсе
  4. Просмотрите параметры и найдите форму с именем
    OPENCV_EXTRA_MODULES_PATH (используйте форму поиска, чтобы быстро сосредоточиться на
    Это)
  5. Заполните этот OPENCV_EXTRA_MODULES_PATH, указав правильный путь к
    значение / modules с помощью кнопки обзора.
  6. Нажмите кнопку конфигурации, а затем кнопку генерации (
    в первый раз вас спросят, какой стиль makefile использовать)
  7. Соберите ядро ​​opencv выбранным вами способом (сделайте и сделайте
    установить, если вы выбрали Unix makfile на шаге 6)

Для запуска необходимо добавить флаги компоновщика для модулей contrib, чтобы использовать их в вашем коде / IDE. Например, чтобы использовать модуль aruco, будет добавлен флаг «-lopencv_aruco».

0

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