1

私はそれを使用しました:

マット マップ( img.size(), CV_8UC3, CV_RGB(0,0,0) );

しかし、3次元のマトリックスを作成していないようです! 誰でも私を助けることができますか?

4

2 に答える 2

1

CV_8UC3フラグは、各チャネルの各ピクセルが符号なし文字として表される3つのチャネルを持つ画像を作成していることを意味します。の出力を確認することで、複数のチャネル(または3次元)を確認できるはずです。

 map.channels();

これは、3次元での行列の大きさを返します。より多くのチャネルが必要な場合は、次のようなものを使用してください。

 map.create(100,60,CV_8UC(15));

ここで、15はチャネル数です。

于 2013-02-05T16:26:28.193 に答える
1

これを行う良い方法は、適切なコンストラクターを使用することです。

Mat::Mat(int ndims, const int* sizes, int type)

たとえば、100x60x15 のマトリックスを作成する場合:

int sz[] = {100, 60, 15};
Mat map(3, sz, CV_8U);
于 2013-02-06T16:20:24.760 に答える