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_RGB2BGR 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("rgb2bgr.jpg", dst);
System.out.println("Ảnh đã được lưu");
}
}
Ảnh đầu vào

Ảnh đầu ra
