0

我正在读取 Ipl 格式的图像,然后将其转换为 Mat 格式。然后我尝试显示图像的行数、列数、通道数和深度。前三个的结果与预期的一样,但是深度的结果是:

代码行:cout<<" "<<"深度="<

结果:深度 = 0

谁能告诉我这是什么意思???

4

2 回答 2

4

depth是一个标志(#defined int in types_c.h),打印它使用例如:

const char* depthToStr(int depth) {
  switch(depth){
    case CV_8U: return "unsigned char";
    case CV_8S: return "char";
    case CV_16U: return "unsigned short";
    case CV_16S: return "short";
    case CV_32S: return "int";
    case CV_32F: return "float";
    case CV_64F: return "double";
  }
  return "invalid type!";
}

并像这样使用:cout << "depth = " << depthToStr(mat.depth()) << endl;

于 2013-03-15T12:18:11.720 回答
0

文档可以告诉您它的含义:

该方法返回矩阵元素深度的标识符(每个单独通道的类型)。例如,对于 16 位有符号 3 通道数组,该方法返回 CV_16S。

你应该看看它,它非常有用。

于 2013-03-15T12:17:35.717 回答