如何使用 Java OpenCV 库将彩色图像转换为蓝/绿/红图像?


Imgproc 类中的 cvtColor() 方法可以将图像从一种颜色更改/转换成另一种颜色。此方法接受三个参数:-

  • src - 表示源的 Matrix 对象。

  • dst - 表示目标的 Matrix 对象。

  • code - 表示目标图像颜色的整数值。

要将彩色图像转换为灰度图像,你需要将 Imgproc.COLOR_RGB2BGR 作为第三个参数传递给此方法。

示例

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ColorToGrayscale {
   public static void main(String args[]) throws Exception {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading the image
      Mat src = Imgcodecs.imread("spiderman.jpg");
      //Creating the empty destination matrix
      Mat dst = new Mat();
      //Converting the image to grey scale
      Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGB2GRAY);
      //Instantiating the Imagecodecs class
      Imgcodecs imageCodecs = new Imgcodecs();
      //Writing the image
      imageCodecs.imwrite("rgb2bgr.jpg", dst);
      System.out.println("Image Saved");
   }
}

输入

输出

更新于: 08-Apr-2020

330 浏览量

开启你的职业生涯

完成课程获得认证

开始
广告