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”。