0

Visual Studio 11 で opencv を使用すると奇妙なエラーが発生します。

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

またはこれ(1に初期化された2Dマトリックス):

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

すべてが正常に動作します

しかし、これ(1に初期化された3Dマトリックス):

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 次元の行列を 1 で初期化するときに、何か特別なものをリンクする必要がありますか?

4

1 に答える 1

2

私が知る限り、ones メソッドは 2D マトリックスのみを作成します。指定された値でマトリックスを初期化したい場合は、コンストラクターでそれを行う必要があります。

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