2014-01-25 6 views
3

Я новичок в области стабилизации видео. Теперь я изучаю это. Я кодирую небольшую демонстрацию стабилизации видео. Но я застрял в некоторых задачах я использую функцию «estimateGlobalMotionLeastSquares» в OpenCV, чтобы оценить глобальное движение Но это не работаетСтабилизация видео - с использованием оценкиGlobalMotionLeastSquares opencv 2.4.7

Вот мой код:

CvPoint2D32f p0, p1; 
vector<Point2f,allocator<Point2f>> ax, by; 
ax.push_back(Point2f(2,2)); 
by.push_back(Point2f(3,2)); 
Mat t = estimateGlobalMotionLeastSquares(ax,by,AFFINE,0); 

Например: я создаю 2 переменные p0, p1 как параметр для функции « оценкаGlobalMotionLeastSquares», и я хочу оценить глобальное движение «t». Но когда я выполнил, ошибка как:

1> VS_OpenCVDlg.obj: LNK2001 ошибки: неразрешенный внешний символ «класс резюме :: Mat __cdecl резюме :: videostab :: estimateGlobalMotionLeastSquares (класс станд :: вектор, class std :: allocator>> const &, класс std :: vector, class std :: allocator>> const &, int, float *) "(? оценкаGlobalMotionLeastSquares @ videostab @ cv @@ YA? AVMat @ 2 @ ABV? $ вектор @ V? $ Point_ @ M @ cv @@ V? $ allocator @ V? $ Point_ @ M @ cv @@@ std @@@ std @@ 0HPAM @ Z) 1> F: \ Research \ Workspace \ VS_OpenCV \ Debug \ VS_OpenCV.exe: фатальная ошибка LNK1120: 1 нерешенные внешние данные

Пожалуйста, помогите мне исправить это !!! Можете ли вы привести несколько примеров этой функции?

ответ

3

Попробуйте включить правильный файл:

#include "opencv2/videostab/videostab.hpp" 

И изменить код:

CvPoint2D32f p0, p1; 
vector<Point2f,allocator<Point2f>> ax, by; 
ax.push_back(Point2f(2,2)); 
ax.push_back(Point2f(2,3)); 
ax.push_back(Point2f(2,4)); 
by.push_back(Point2f(3,2)); 
by.push_back(Point2f(3,3)); 
by.push_back(Point2f(3,4)); 
Mat t = videostab::estimateGlobalMotionLeastSquares(ax,by,3,0);