0

我在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 维矩阵时,是否需要链接一些额外的东西?

4

1 回答 1

2

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

int sz[]={3,3,3};
T=Mat(3,sz,CV_32F, Scalar::all(1));
于 2013-06-26T13:36:19.957 回答