equalizeHist () phương thức của lớp Imgproc chấp nhận một hình ảnh thang độ xám và cân bằng biểu đồ của nó, đến lượt nó, sẽ bình thường hóa độ sáng và tăng độ tương phản của hình ảnh đã cho. Phương thức này chấp nhận hai tham số -
-
Một đối tượng Mat đại diện cho hình ảnh nguồn (thang độ xám).
-
Một đối tượng Mat để lưu kết quả.
Ví dụ
Chương trình Java sau đây đọc một hình ảnh có màu dưới dạng thang độ xám, lưu nó, bình thường hóa độ sáng và tăng độ tương phản của hình ảnh đã cho và lưu nó.
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class HstExample { public static void main(String args[]) { //Loading the OpenCV core library System.loadLibrary(Core.NATIVE_LIBRARY_NAME); String input = "D://images//sunset.jpg"; //Reading the Image from the file Mat source = Imgcodecs.imread(input, Imgcodecs.IMREAD_GRAYSCALE ); //Creating an empty matrix to store the result Mat dst = new Mat(source.rows(),source.cols(),source.type()); Imgcodecs.imwrite("D://images//Grey_scale.jpg", source); //Increasing the contrast Imgproc.equalizeHist(source, dst); //Writing the image Imgcodecs.imwrite("D://images//increasing_contrast.jpg", dst); HighGui.imshow("output image", dst); } }
Hình ảnh thang độ xám
Hình ảnh kết quả