1

在下面的代码中,我正在读取图像并显示它具有的通道数及其深度。

结果是通道:3 和深度:0

据我所知,深度应该代表每个通道的位数。

深度为零是什么意思?

代码

public static void main(String[] args) {
    System.loadLibrary(org.opencv.core.Core.NATIVE_LIBRARY_NAME);

    Mat imgSrc = new Mat();
    imgSrc = Highgui.imread(PATH);

    if (imgSrc.empty()) {
        System.out.println("image is empty");
        return;
    }

    System.out.println("channels: " + imgSrc.channels());
    System.out.println("depth: " + imgSrc.depth());
}

}

4

1 回答 1

8

正如您可以在此处阅读的那样:http: //docs.opencv.org/modules/core/doc/basic_structures.html#mat-depth 深度字段不包含实际的位数。它包含在 opencv 库中定义的常量值。您必须检查版本中的这些常量才能回答,0 是什么意思。

编辑:在我的版本中 CvType.CV_8U == 0。所以你可以期待一个无符号字符。

于 2015-03-25T16:40:48.253 回答