📜  Java中的图像处理——对比度增强

📅  最后修改于: 2022-05-13 01:55:37.125000             🧑  作者: Mango

Java中的图像处理——对比度增强

先决条件:

  • Java中的图像处理——读写
  • Java中的图像处理——获取和设置像素
  • Java中的图像处理——彩色图像到灰度图像的转换
  • Java中的图像处理——彩色图像到负图像的转换
  • Java中的图像处理——彩色到红绿蓝图像的转换
  • Java中的图像处理——彩色图像到棕褐色图像的转换
  • Java中的图像处理——创建随机像素图像
  • Java中的图像处理——创建镜像
  • Java中的图像处理——人脸检测
  • Java中的图像处理——给图像加水印
  • Java中的图像处理——改变图像的方向

对比度增强

首先,我们需要为Java设置 OpenCV,我们建议使用 eclipse,因为它易于使用和设置。现在让我们了解增强图像颜色所需的一些方法。现在让我们了解一些对比度增强所需的方法。

方法一:equalizeHist(source,destination):该方法驻留在opencv的Imgproc中。source参数为8位单通道源图像, destination参数为目标图像

方法 2:Imcodecs.imread() 或 Imcodecs.imwrite():这些方法用于读取和写入由 OpenCV 渲染的 Mat 对象的图像。

实现:让我们取一个任意输入图像,如下所示:

例子:

Java
// Java Program to Demonstrate Contrast Enhancement
// Using OpenCV Library
 
// Importing package module
package ocv;
 
// Importing required classes
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
 
// Main class
public class GFG {
 
    // Try block to check for exceptions
    public static void main(String[] args)
    {
 
        // Try block to check for exceptions
        try {
 
            // For proper execution of native libraries
            // Core.NATIVE_LIBRARY_NAME must be loaded
            // before calling any of the opencv methods
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
 
            // Reading image from local directory by
            // creating object of Mat class
            Mat source = Imgcodecs.imread(
                "E:\\input.jpg",
                Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
            Mat destination
                = new Mat(source.rows(), source.cols(),
                          source.type());
 
            // Applying histogram equalization
            Imgproc.equalizeHist(source, destination);
 
            // Writing output image to some other directory
            // in local system
            Imgcodecs.imwrite("E:\\output.jpg",
                              destination);
 
            // Display message on console for successful
            // execution of program
            System.out.print(
                "Image Successfully Contrasted");
        }
 
        // Catch block to handle exceptions
        catch (Exception e) {
 
            // Print the exception on the console
            // using getMessage() method
            System.out.println("error: " + e.getMessage());
        }
    }
}



输出:在控制台上

Image Successfully Contrasted