我在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维矩阵时,是否需要链接一些额外的东西?
答案 0 :(得分:2)
据我所知,这些方法只创建2D矩阵,如果你想用指定的值初始化你的矩阵,你必须用构造函数
int sz[]={3,3,3};
T=Mat(3,sz,CV_32F, Scalar::all(1));