The equalizeHist() เมธอดของคลาส Imgproc ยอมรับภาพระดับสีเทาและทำให้ฮิสโตแกรมเท่ากัน ซึ่งจะทำให้ความสว่างเป็นปกติและเพิ่มความคมชัดของภาพที่กำหนด วิธีนี้ยอมรับสองพารามิเตอร์ -
-
วัตถุ Mat ที่แสดงภาพต้นฉบับ (ระดับสีเทา)
-
วัตถุ Mat เพื่อบันทึกผลลัพธ์
ตัวอย่าง
การติดตามโปรแกรม Java จะอ่านภาพสีเป็นระดับสีเทา บันทึก ปรับความสว่างให้เป็นปกติ และเพิ่มความคมชัดของภาพที่กำหนดและบันทึก
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); } }
ภาพระดับสีเทา
ผลลัพธ์ที่ได้