Как исправить ошибку 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;
}