কম্পিউটার

কীভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি ছবিতে শব্দ যোগ করবেন?


OpenCV -

ব্যবহার করে একটি প্রদত্ত ছবিতে শব্দ যোগ করতে
  • একটি ম্যাট অবজেক্টে প্রদত্ত চিত্রের বিষয়বস্তু পড়ুন।

  • গোলমাল এবং ফলাফলের ম্যাট্রিক্স সংরক্ষণ করতে আরও দুটি খালি ম্যাট্রিক্স তৈরি করুন।

  • গড় এবং মানক বিচ্যুতি সংরক্ষণ করতে দুটি MatOfDouble ম্যাট্রিক্স তৈরি করুন৷

  • meanStdDev() পদ্ধতি ব্যবহার করে গড় এবং আদর্শ বিচ্যুতি মান পান।

  • Randn() পদ্ধতি ব্যবহার করে এলোমেলো উপাদান (শব্দ সঞ্চয় করতে) সহ একটি ম্যাট্রিক্স তৈরি করুন।

  • এই পদ্ধতিতে উপরে তৈরি উৎস, গড় এবং মানক বিচ্যুতি বস্তু পাস করুন।

অবশেষে, নয়েজ ম্যাট্রিক্স এবং সোর্স ম্যাট্রিক্স যোগ করুন এবং গন্তব্য হিসাবে সংরক্ষণ করুন।

উদাহরণ

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.MatOfDouble;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
public class AddingNoise extends Application {
   public void start(Stage stage) throws IOException {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Reading the Image from the file
      String file ="D://images//elephant.jpg";
      Mat src = Imgcodecs.imread(file);
      System.out.println("Image Loaded");
      //Creating destination matrix
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      //Creating a matrix for the noise
      Mat noise = new Mat(src.rows(), src.cols(), src.type());
      //Calculating the mean and standard deviation
      MatOfDouble mean = new MatOfDouble();
      MatOfDouble dev = new MatOfDouble();
      Core.meanStdDev(src, mean, dev);
      //Filling the noise matrix
      Core.randn(noise, mean.get(0,0)[0], dev.get(0,0)[0]);
      //Adding noise to the destination
      Core.add(src, noise, 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("Adding Noise Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]) {
      launch(args);
   }
}

ইনপুট ছবি

কীভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি ছবিতে শব্দ যোগ করবেন?

আউটপুট

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

তৈরি করে

কীভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি ছবিতে শব্দ যোগ করবেন?


  1. কীভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি চিত্র ফ্লিপ করবেন?

  2. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে কীভাবে একটি মিরর ইমেজ তৈরি করবেন?

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

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