কম্পিউটার

ওপেনসিভিতে ক্যানি এজ ডিটেকশন দেখানো জাভা উদাহরণ।


ক্যানি এজ ডিটেক্টরকে সর্বোত্তম ডিটেক্টর হিসাবে পরিচিত কারণ এটি শুধুমাত্র বিদ্যমান প্রান্তগুলি সনাক্ত করে, প্রতি পৃষ্ঠায় শুধুমাত্র একটি প্রতিক্রিয়া দেয় এবং প্রান্ত পিক্সেল এবং সনাক্ত করা পিক্সেলের মধ্যে দূরত্ব কমিয়ে দেয়৷

দ্য ক্যানি()৷ Imgproc ক্লাসের পদ্ধতি প্রদত্ত ছবিতে ক্যানি এজ ডিটেকশন অ্যালগরিদম প্রয়োগ করে। এই পদ্ধতি গ্রহণ করে -

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

  • থ্রেশহোল্ড মান ধরে রাখতে দুটি ডবল ভেরিয়েবল।

ক্যানি এজ ডিটেক্টর -

ব্যবহার করে একটি প্রদত্ত চিত্রের প্রান্ত সনাক্ত করতে
  • imread() ব্যবহার করে উৎস চিত্রের বিষয়বস্তু পড়ুন Imgcodecs এর পদ্ধতি ক্লাস।

  • cvtColor() ব্যবহার করে এটিকে একটি ধূসর স্কেল ছবিতে রূপান্তর করুন Imgproc এর পদ্ধতি ক্লাস।

  • blur() ব্যবহার করে ফলস্বরূপ (ধূসর) ছবি অস্পষ্ট করুন Imgproc এর পদ্ধতি কার্নেল মান 3 সহ ক্লাস।

  • canny() ব্যবহার করে ঝাপসা ছবিতে ক্যানি প্রান্ত সনাক্তকরণ অ্যালগরিদম প্রয়োগ করুন Imgproc এর পদ্ধতি .

  • 0 হিসাবে সমস্ত মান সহ একটি খালি ম্যাট্রিক্স তৈরি করুন।

  • copyTo() ব্যবহার করে শনাক্ত করা প্রান্ত যোগ করুন ম্যাটের পদ্ধতি ক্লাস।

উদাহরণ

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.core.Scalar;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class EdgeDetection 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);
      //Creating an empty matrices to store edges, source, destination
      Mat gray = new Mat(src.rows(), src.cols(), src.type());
      Mat edges = new Mat(src.rows(), src.cols(), src.type());
      Mat dst = new Mat(src.rows(), src.cols(), src.type(), new Scalar(0));
      //Converting the image to Gray
      Imgproc.cvtColor(src, gray, Imgproc.COLOR_RGB2GRAY);
      //Blurring the image
      Imgproc.blur(gray, edges, new Size(3, 3));
      //Detecting the edges
      Imgproc.Canny(edges, edges, 100, 100*3);
      //Copying the detected edges to the destination matrix
      src.copyTo(dst, edges);      
      //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("Gaussian Blur Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]) {
      launch(args);
   }
}

ইনপুট ছবি

ওপেনসিভিতে ক্যানি এজ ডিটেকশন দেখানো জাভা উদাহরণ।

আউটপুট

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

ওপেনসিভিতে ক্যানি এজ ডিটেকশন দেখানো জাভা উদাহরণ।


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

  2. কীভাবে জাভা ব্যবহার করে ওপেনসিভিতে দ্বিপাক্ষিক অস্পষ্টতা প্রয়োগ করবেন?

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

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