Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để thay đổi độ sáng của hình ảnh thang màu xám?


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

Làm thế nào để thay đổi độ sáng của hình ảnh thang màu xám?

Hình ảnh kết quả

Làm thế nào để thay đổi độ sáng của hình ảnh thang màu xám?