使用opencv进行多维矩阵初始化会产生链接错误

时间:2013-06-26 12:55:56

标签: opencv multidimensional-array initialization unresolved-external

我在visual studio 11下使用opencv时出现了一个奇怪的错误。当我这样做时:

int sz[]={3,3,3};
T=Mat(3,sz,CV_32F);

或者这个(2D矩阵初始化为1):

T=Mat::ones(3,3,CV_32F);

一切正常

但是这个(3D矩阵初始化为1):

int sz[]={3,3,3};
T=Mat::ones(3,sz,CV_32F);

给了我一个链接错误:

  

错误6错误LNK2019:未解析的外部符号“public:static class cv :: MatExpr __cdecl cv :: Mat :: ones(int,int const *,int)”

这是为什么?当我用n初始化n维矩阵时,是否需要链接一些额外的东西?

1 个答案:

答案 0 :(得分:2)

据我所知,这些方法只创建2D矩阵,如果你想用指定的值初始化你的矩阵,你必须用构造函数

int sz[]={3,3,3};
T=Mat(3,sz,CV_32F, Scalar::all(1));