Обработка изображений в Java — повышение контрастности
Предпосылки:
- Обработка изображений в Java — чтение и запись
- Обработка изображений в Java — получение и установка пикселей
- Обработка изображений в Java — преобразование цветного изображения в изображение в градациях серого
- Обработка изображений в Java — преобразование цветного изображения в негативное изображение
- Обработка изображений в Java — преобразование цветных изображений в красные, зеленые, синие
- Обработка изображений в Java — преобразование цветного изображения в изображение сепии
- Обработка изображений в Java — создание случайного пиксельного изображения
- Обработка изображений в Java — создание зеркального изображения
- Обработка изображений в Java — распознавание лиц
- Обработка изображений в Java — водяные знаки на изображении
- Обработка изображений в Java — изменение ориентации изображения
Усиление контраста
Сначала нам нужно настроить OpenCV для Java, для этого мы рекомендуем использовать eclipse, так как его легко использовать и настраивать. Теперь давайте разберемся с некоторыми методами, необходимыми для улучшения цвета изображения. Теперь давайте разберемся с некоторыми методами, необходимыми для повышения контрастности.
Метод 1: equalizeHist (источник, назначение): этот метод находится в пакете Imgproc с параметром opencv.source — 8-битным одноканальным исходным изображением, а параметр назначения — целевым изображением.
Метод 2: Imcodecs.imread() или Imcodecs.imwrite(): эти методы используются для чтения и записи изображений в виде объектов Mat, которые визуализируются OpenCV.
Реализация: возьмем произвольное входное изображение, которое выглядит следующим образом:
Пример:
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
Эта статья предоставлена Pratik Agarwal . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью с помощью write.geeksforgeeks.org или отправить ее по адресу review-team@geeksforgeeks.org. Посмотрите, как ваша статья появится на главной странице GeeksforGeeks, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.