如何创建具有三维尺寸的Mat对象



我用过它:

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

但它似乎没有创建任何三维矩阵!有人能帮我吗?

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

 map.channels();

其将返回矩阵在第三维中的大小。如果你需要更多的通道,那么使用类似的东西:

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

其中15是通道的数量。

实现这一点的好方法是使用适当的构造函数:

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

例如,如果要创建100x60x15矩阵:

int sz[] = {100, 60, 15};
Mat map(3, sz, CV_8U);

相关内容

  • 没有找到相关文章

最新更新