我是视频稳定领域的新手。现在我正在研究它。 我正在编写一个小型视频稳定演示。但是我遇到了一些问题 我在OpenCV中使用函数“estimateGlobalMotionLeastSquares”来估计全局运动 但它不起作用
这是我的代码:
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作为函数的参数“ estimateGlobalMotionLeastSquares“我想估计全局运动”t“。 但是当我遵守时,错误是:
1&gt; VS_OpenCVDlg.obj:错误LNK2001:未解析的外部符号“class cv :: Mat __cdecl cv :: videostab :: estimateGlobalMotionLeastSquares(class std :: vector,class std :: allocator&gt;&gt; const&amp;,class std :: vector,class std :: allocator&gt;&gt; const&amp;,int,float *)“(?estimateGlobalMotionLeastSquares @ videostab @ cv @@ YA?AVMat @ 2 @ ABV?$ vector @ V?$ Point_ @ M @ CV @@ V'$ @分配器V'$ @ Point_米@简历@@@性病性病@@@ @@ 0HPAM @ Z) 1&gt; F:\ Research \ Workspace \ VS_OpenCV \ Debug \ VS_OpenCV.exe:致命错误LNK1120:1个未解析的外部
请帮我解决这个问题!!! 你能给我一些关于这个功能的例子吗?
答案 0 :(得分: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);