কম্পিউটার

ওপেনসিভিতে জাভা ব্যবহার করে একটি চিত্রের হিস্টোগ্রাম সমতা।


একটি ছবির হিস্টোগ্রাম পিক্সেলের তীব্রতার মানের ফ্রিকোয়েন্সি দেখায়। একটি ইমেজ হিস্টোগ্রামে, X-অক্ষ ধূসর স্তরের তীব্রতা দেখায় এবং Y-অক্ষ এই তীব্রতার ফ্রিকোয়েন্সি দেখায় এবং একটি চিত্রের বৈসাদৃশ্য উন্নত করে৷

equalizeHist() Imgproc পদ্ধতির পদ্ধতিটি উৎস এবং গন্তব্য চিত্রের প্রতিনিধিত্বকারী ম্যাট বস্তুতে গ্রহণ করে, উৎস ম্যাট্রিক্সের হিস্টোগ্রামকে সমান করে এবং গন্তব্য ম্যাট্রিক্সে এটি গ্রহণ করে।

উদাহরণ

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javafx.application.Application;
import javafx.embed.swing.SwingFXUtils;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.image.WritableImage;
import javafx.stage.Stage;
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 HistogramEquilization extends Application {
   public void start(Stage stage) throws IOException {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      String file ="D:\\Images\\win2.jpg";
      Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_GRAYSCALE);
      //Creating an empty matrices to store the destination image.
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      //Detecting the edges
      Imgproc.equalizeHist(src, dst);
      //Converting matrix to JavaFX writable image
      Image img = HighGui.toBufferedImage(dst);
      WritableImage writableImage= SwingFXUtils.toFXImage((BufferedImage) img, null);
      //Setting the image view
      ImageView imageView = new ImageView(writableImage);
      imageView.setX(10);
      imageView.setY(10);
      imageView.setFitWidth(575);
      imageView.setPreserveRatio(true);
      //Setting the Scene object
      Group root = new Group(imageView);
      Scene scene = new Scene(root, 595, 400);
      stage.setTitle("Histogram Equilization Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]) {
      launch(args);
   }
}

ইনপুট ছবি

ওপেনসিভিতে জাভা ব্যবহার করে একটি চিত্রের হিস্টোগ্রাম সমতা।

আউটপুট

কার্যকর করার সময়, উপরেরটি নিম্নলিখিত আউটপুট তৈরি করে −

ওপেনসিভিতে জাভা ব্যবহার করে একটি চিত্রের হিস্টোগ্রাম সমতা।


  1. জাভা ব্যবহার করে ওপেনসিভিতে গাউসিয়ান ব্লার কীভাবে প্রয়োগ করবেন?

  2. কীভাবে জাভা ব্যবহার করে ওপেনসিভিতে ব্লার (গড়) প্রয়োগ করবেন?

  3. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি ছবিতে মুখগুলি কীভাবে সনাক্ত করবেন?

  4. কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবি লিখতে হয়?