我用过它:
Mat map(img.size(),CV_8UC3,CV_RGB(0,0,0));
但似乎没有创建任何3维矩阵! 有谁可以帮助我?
答案 0 :(得分:2)
CV_8UC3标志表示您正在创建一个具有三个通道的图像,其中每个通道中的每个像素都表示为无符号字符。您应该能够通过查看
的输出来确认多个通道(或第三维) map.channels();
将返回矩阵在第三维中的大小。如果您需要更多频道,请使用以下内容:
map.create(100,60,CV_8UC(15));
其中15是频道数。
答案 1 :(得分:0)
这样做的好方法是使用适当的构造函数:
Mat::Mat(int ndims, const int* sizes, int type)
例如,如果要创建100x60x15矩阵:
int sz[] = {100, 60, 15};
Mat map(3, sz, CV_8U);