1

我用它:

垫图(img.size(),CV_8UC3,CV_RGB(0,0,0));

但它似乎没有创建任何具有 3 维的矩阵!有人可以帮我吗?

4

2 回答 2

1

The good way to do that is to use the appropriated constructor :

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

For example if you want to create a 100x60x15 matrix :

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

CV_8UC3 标志意味着您正在创建一个具有三个通道的图像,其中每个通道中的每个像素都表示为一个无符号字符。您应该能够通过查看输出来确认多个通道(或第 3 维)

 map.channels();

这将返回矩阵在第三维中的大小。如果您需要更多频道,请使用以下内容:

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

其中 15 是通道数。

于 2013-02-05T16:26:28.193 回答