channel()在RGB图像上返回1

时间:2019-06-23 20:24:01

标签: java

channels()函数在RGB图像上返回1,而预期返回3。

我正在尝试使用OpenCV库中的Imgproc.cvtColor将RGB图像转换为灰度图像,但是出现一个错误:convert函数返回一个错误,指示src不是RGB格式。

  

如果您读取jpg文件,则默认情况下会创建一个3通道图像

import org.opencv.core.Core;
import org.opencv.core.CvType;

import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class Main {
    public static void main(String[] args) throws IOException {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat srcInput = Imgcodecs.imread("C:\\Users\\Desktop\\LELP_0600.jpg");
        if (srcInput.channels() == 1) {
            System.out.println("One Channel");
        } else if (srcInput.channels() == 3) {
            System.out.println("3 Channels");
        }
}

除输出为“ 3 Channels”外,我实际为“ One Channel”。

0 个答案:

没有答案