我用它:
垫图(img.size(),CV_8UC3,CV_RGB(0,0,0));
但它似乎没有创建任何具有 3 维的矩阵!有人可以帮我吗?
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);
CV_8UC3 标志意味着您正在创建一个具有三个通道的图像,其中每个通道中的每个像素都表示为一个无符号字符。您应该能够通过查看输出来确认多个通道(或第 3 维)
map.channels();
这将返回矩阵在第三维中的大小。如果您需要更多频道,请使用以下内容:
map.create(100,60,CV_8UC(15));
其中 15 是通道数。