如何使用 Java OpenCV 库将彩色图像转换为灰度图像?


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

  • src − 表示源的 Matrix 对象。

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

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

若要将彩色图像转换为灰度图像,你需将 Imgproc.COLOR_RGB2GRAY 传递为该方法的第三个参数。

示例

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("colortogreyscale.jpg", dst);
      System.out.println("Image Saved");
   }
}

输入

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

输出

更新于:08-Apr-2020

1K+ 浏览

启动你的 职业

完成课程并获得认证

开始
广告