Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để chuyển đổi một hình ảnh có màu sang thang độ xám bằng cách sử dụng thư viện Java OpenCV?

cvtColor () phương pháp của Imgproc lớp thay đổi / chuyển đổi màu của hình ảnh từ màu này sang màu khác. Phương thức này chấp nhận ba tham số -

  • src - Một đối tượng Ma trận đại diện cho nguồn.

  • dst - Một đối tượng Ma trận đại diện cho điểm đến.

  • - Một giá trị số nguyên đại diện cho màu của hình ảnh đích.

Để chuyển đổi hình ảnh có màu sang thang độ xám, bạn cần chuyển Imgproc.COLOR_RGB2GRAY làm tham số thứ ba cho phương thức này.

Ví dụ

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");
   }
}

Đầu vào

Làm thế nào để chuyển đổi một hình ảnh có màu sang thang độ xám bằng cách sử dụng thư viện Java OpenCV?

Đầu ra

Làm thế nào để chuyển đổi một hình ảnh có màu sang thang độ xám bằng cách sử dụng thư viện Java OpenCV?