Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách chuyển đổi hình ảnh màu sang thang độ xám bằng Java OpenCV


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

  • src – Đối tượng Matrix đại diện cho nguồn.

  • dst – Đối tượng Matrix đại diện cho đích.

  • code – Giá trị nguyên đại diện cho không gian màu đích.

Để chuyển đổi hình ảnh màu sang thang độ xám, bạn cần truyền Imgproc.COLOR_RGB2GRAY làm tham số thứ 3 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 {
// Tải thư viện lõi OpenCV
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// Đọc hình ảnh
Mat src = Imgcodecs.imread("spiderman.jpg");
// Tạo ma trận đích rỗng
Mat dst = new Mat();
// Chuyển đổi hình ảnh sang thang độ xám
Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGB2GRAY);
// Khởi tạo lớp Imagecodecs
Imgcodecs imageCodecs = new Imgcodecs();
// Ghi hình ảnh
imageCodecs.imwrite("colortogreyscale.jpg", dst);
System.out.println("Ảnh đã được lưu");
}
}

Ảnh đầu vào

Cách chuyển đổi hình ảnh màu sang thang độ xám bằng Java OpenCV

Ảnh đầu ra

Cách chuyển đổi hình ảnh màu sang thang độ xám bằng Java OpenCV