কম্পিউটার

জাভা উদাহরণ ব্যবহার করে OpenCV সিম্পল থ্রেশহোল্ড ব্যাখ্যা করুন


থ্রেশহোল্ডিং একটি চিত্রের বিভাজন করার জন্য একটি সহজ কৌশল। এটি প্রায়ই বাইনারি ছবি তৈরি করতে ব্যবহৃত হয়। সাধারণ থ্রেশহোল্ডিংয়ে, প্রদত্ত থ্রেশহোল্ড মানের চেয়ে বড় পিক্সেলগুলিকে একটি আদর্শ মান দিয়ে প্রতিস্থাপিত করা হবে৷

থ্রেশহোল্ড() পদ্ধতিটি প্রদত্ত চিত্রটিতে সহজ থ্রেশহোল্ড অপারেশন করে। এই পদ্ধতির পরামিতিগুলি নিম্নরূপ -

  • উৎস এবং গন্তব্য চিত্রের প্রতিনিধিত্বকারী দুটি ম্যাট বস্তু।

  • থ্রেশহোল্ড বা স্ট্যান্ডার্ড মান প্রতিনিধিত্বকারী দুটি পূর্ণসংখ্যা ভেরিয়েবল।

  • একটি পূর্ণসংখ্যা ভেরিয়েবল যা সরল থ্রেশহোল্ডের প্রকারের প্রতিনিধিত্ব করে।

উদাহরণ

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 SimpleThreshold 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());
      //Applying simple threshold
      Imgproc.threshold(src, dst, 50, 255, Imgproc.THRESH_BINARY);
      //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("Simple Threshold");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]) {
      launch(args);
   }
}

ইনপুট ছবি

জাভা উদাহরণ ব্যবহার করে OpenCV সিম্পল থ্রেশহোল্ড ব্যাখ্যা করুন

আউটপুট

কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত উইন্ডোগুলি তৈরি করে -

জাভা উদাহরণ ব্যবহার করে OpenCV সিম্পল থ্রেশহোল্ড ব্যাখ্যা করুন


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

  2. OpenCV ব্যবহার করে একটি ছবির উজ্জ্বলতা কমাতে JavaFX উদাহরণ।

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

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