Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะเปลี่ยนความสว่างของภาพระดับสีเทาได้อย่างไร?


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);
   }
}

ภาพระดับสีเทา

จะเปลี่ยนความสว่างของภาพระดับสีเทาได้อย่างไร?

ผลลัพธ์ที่ได้

จะเปลี่ยนความสว่างของภาพระดับสีเทาได้อย่างไร?