Как исправить ошибку LNK2019 ссылка на неразрешенный внешний символ при использовании Facemark OpenCV

При создании объекта Facemark выдает ошибку " Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __cdecl cv::face::FacemarkLBF::Params::Params(void)" (??0Params@FacemarkLBF@face@cv@@QEAA@XZ) в функции main." никак не пойму в чем причина, остальная часть кода связанная с модулем face хорошо работает. Код с сайта "https://russianblogs.com/article/3777394538/"

#include <opencv2/opencv.hpp>
 #include <opencv2/face.hpp>
 #include "drawLandmarks.hpp"


using namespace std;
using namespace cv;
using namespace cv::face;


int main(int argc,char** argv)
{
         // Загрузка детектора лица (Face Detector)
         // [1]Haar Face Detector
    //CascadeClassifier faceDetector("haarcascade_frontalface_alt2.xml");
         // [2]LBP Face Detector
    CascadeClassifier faceDetector("lbpcascade_frontalface.xml");

         // Создаем объект класса Facemark
    Ptr<Facemark> facemark = FacemarkLBF::create();

         // Загрузить модель детектора лица
    facemark->loadModel("lbfmodel.yaml");

         // Установить веб-камеру для захвата видео
    VideoCapture cam(0);
    
         // Переменные для хранения видеокадров и изображений в градациях серого
    Mat frame, gray;
    
         // читать кадр
    while(cam.read(frame))
    {
      
             // Контейнер для хранения прямоугольной рамки лица
      vector<Rect> faces;
       // Преобразование видеокадра в изображение в градациях серого, потому что входной сигнал детектора лиц - это изображение в градациях серого
      cvtColor(frame, gray, COLOR_BGR2GRAY);

             // Обнаружение лица
      faceDetector.detectMultiScale(gray, faces);
      
       // Контейнер для ключевых точек лица
      vector< vector<Point2f> > landmarks;
      
       // Запустить детектор ключа лица (детектор ориентира)
      bool success = facemark->fit(frame,faces,landmarks);
      
      if(success)
      {
                 // В случае успеха нарисуйте ключевые точки на видеокадре
        for(int i = 0; i < landmarks.size(); i++)
        {
             // Пользовательская функция рисования характерных граней, может нарисовать контурную фигуру
            drawLandmarks(frame, landmarks[i]);
             // OpenCV поставляется с функцией рисования ключевой точки: drawFacemarks
            drawFacemarks(frame, landmarks[i], Scalar(0, 0, 255));
        }
    
      }

             // Показать результаты 
      imshow("Facial Landmark Detection", frame);

             // Если вы нажмете клавишу ESC, то выйдите из программы
      if (waitKey(1) == 27) break;
      
    }
    return 0;
}

Ответы (0 шт):