ওপেনসিভি ব্যবহার করে একটি প্রদত্ত চিত্রে নויז যোগ করতে:
প্রদত্ত চিত্রের কন্টেন্ট একটি Mat অবজেক্টে পড়ুন।
নויז এবং ফলাফল ম্যাট্রিক্স সংরক্ষণের জন্য আরও দুটি খালি ম্যাট্রিক্স তৈরি করুন।
মিন এবং স্ট্যান্ডার্ড ডেভিয়েশন সংরক্ষণের জন্য দুটি 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 {
// ওপেনসিভি কোর লাইব্রেরি লোড করা
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// ফাইল থেকে ইমেজ পড়া
String file = "D://images//elephant.jpg";
Mat src = Imgcodecs.imread(file);
System.out.println("Image Loaded");
// ডেস্টিনেশন ম্যাট্রিক্স তৈরি
Mat dst = new Mat(src.rows(), src.cols(), src.type());
// নויזের জন্য একটি ম্যাট্রিক্স তৈরি
Mat noise = new Mat(src.rows(), src.cols(), src.type());
// মিন এবং স্ট্যান্ডার্ড ডেভিয়েশন ক্যালকুলেট করা
MatOfDouble mean = new MatOfDouble();
MatOfDouble dev = new MatOfDouble();
Core.meanStdDev(src, mean, dev);
// নויז ম্যাট্রিক্স ভরানো
Core.randn(noise, mean.get(0,0)[0], dev.get(0,0)[0]);
// নויז ডেস্টিনেশনএ যোগ করা
Core.add(src, noise, dst);
// ম্যাট্রিক্সকে জাভाएফএক্স রাইটেবল ইমেজে রূপান্তর
Image img = HighGui.toBufferedImage(dst);
WritableImage writableImage = SwingFXUtils.toFXImage((BufferedImage) img, null);
// ইমেজ ভিউ সেট করা
ImageView imageView = new ImageView(writableImage);
imageView.setX(10);
imageView.setY(10);
imageView.setFitWidth(575);
imageView.setPreserveRatio(true);
// Scene অবজেক্ট সেট করা
Group root = new Group(imageView);
Scene scene = new Scene(root, 595, 400);
stage.setTitle("নויז যোগ করার উদাহরণ");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
ইনপুট চিত্র

আউটপুট
প্রোগ্রামটি এক্সিকিউট করার পর নিচের আউটপুট জেনারেট হবে:
