কম্পিউটার

JavaFX ব্যবহার করে OpenCV Mat অবজেক্ট কিভাবে প্রদর্শন করবেন?


JavaFX লাইব্রেরি ImageView নামের একটি ক্লাস প্রদান করে এটি ব্যবহার করে আপনি একটি ছবি প্রদর্শন করতে পারেন। এই শ্রেণীটি WritableImage -এর একটি বস্তু গ্রহণ করে ক্লাস।

OpenCV Mat অবজেক্টে সংরক্ষিত একটি ছবি প্রদর্শন করতে আপনাকে এটিকে একটি WritableImage অবজেক্টে রূপান্তর করতে হবে এবং এটিকে ImageView ক্লাস পাস করতে হবে।

উদাহরণ

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
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 javax.imageio.ImageIO;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.imgcodecs.Imgcodecs;
public class DisplayingImagesJavaFX extends Application {
   @Override
   public void start(Stage stage) throws IOException {
      WritableImage writableImage = loadImage();
      //Setting the image view
      ImageView imageView = new ImageView(writableImage);
      imageView.setX(50);
      imageView.setY(25);
      imageView.setFitHeight(400);
      imageView.setFitWidth(500);
      imageView.setPreserveRatio(true);
      //Creating a Group object
      Group root = new Group(imageView);
      //Creating a scene object
      Scene scene = new Scene(root, 600, 400);
      //Setting title to the Stage
      stage.setTitle("Loading an image");
      //Adding scene to the stage
      stage.setScene(scene);
      //Displaying the contents of the stage
      stage.show();
   }
   public WritableImage loadImage() throws IOException {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading the Image from the file and storing it in to a Matrix object
      String file = "D:\\images\\tree.jpg";
      Mat image = Imgcodecs.imread(file);
      //Encoding the image
      MatOfByte matOfByte = new MatOfByte();
      Imgcodecs.imencode(".jpg", image, matOfByte);
      //Storing the encoded Mat in a byte array
      byte[] byteArray = matOfByte.toArray();
      //Displaying the image
      InputStream in = new ByteArrayInputStream(byteArray);
      BufferedImage bufImage = ImageIO.read(in);
      System.out.println("Image Loaded");
      WritableImage writableImage = SwingFXUtils.toFXImage(bufImage, null);
      return writableImage;
   }
   public static void main(String args[]) {
      launch(args);
   }
}

আউটপুট

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

তৈরি করে

JavaFX ব্যবহার করে OpenCV Mat অবজেক্ট কিভাবে প্রদর্শন করবেন?


  1. JavaFX এবং OpenCV ব্যবহার করে একটি ছবির উজ্জ্বলতা এবং বৈসাদৃশ্য পরিবর্তন করা

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

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

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