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 thành hình ảnh màu xanh lam / xanh lá cây / đỏ 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 vượt qua Imgproc.COLOR_RGB2BGR 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("rgb2bgr.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 thành hình ảnh màu xanh lam / xanh lá cây / đỏ 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 thành hình ảnh màu xanh lam / xanh lá cây / đỏ bằng cách sử dụng thư viện Java OpenCV?