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

结果是channel:3和depth: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());
}

}

最佳答案

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

编辑:在我的版本CvType.CV_8U ==0。所以您可以期待一个未签名的字符。

10-08 08:38