আপনি একটি লো-পাস ফিল্টার ব্যবহার করে এটিকে ফিল্টার করে একটি চিত্রকে অস্পষ্ট করতে পারেন, এটি একটি চিত্র থেকে উচ্চ ফ্রিকোয়েন্সি সামগ্রী (গোলমাল, প্রান্ত) সরিয়ে দেয়৷
গাউসিয়ান ব্লারিং হল ওপেনসিভি দ্বারা প্রদত্ত অস্পষ্ট কৌশলগুলির মধ্যে একটি, এটি একটি চিত্রের আওয়াজ দূর করতে অত্যন্ত দক্ষ। এটি কার্নেল এলাকার সমস্ত পিক্সেলের গড় দিয়ে কেন্দ্রীয় উপাদান প্রতিস্থাপন করে।
আপনি GaussianBlur() ব্যবহার করে এই কৌশলটির মাধ্যমে একটি ছবি ফিল্টার/ব্লার করতে পারেন পদ্ধতি, এই পদ্ধতি গ্রহণ করে −
-
উৎস এবং গন্তব্য চিত্রের প্রতিনিধিত্বকারী দুটি ম্যাট বস্তু।
-
কার্নেলের আকারের প্রতিনিধিত্বকারী একটি আকারের বস্তু।
-
X দিকনির্দেশে গাউসিয়ান কার্নেলের মানক বিচ্যুতিকে প্রতিনিধিত্ব করে ডবল ধরনের একটি পরিবর্তনশীল।
উদাহরণ
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.Size; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class GausianBlurExample extends Application { public void start(Stage stage) throws IOException { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); String file ="D:\\Images\\elephant.jpg"; Mat src = Imgcodecs.imread(file); //Creating destination matrix Mat dst = new Mat(src.rows(), src.cols(), src.type()); //Applying GaussianBlur on the Image Imgproc.GaussianBlur(src, dst, new Size(15, 15), 0); //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); } }
ইনপুট ছবি
আউটপুট
কার্যকর করার সময়, উপরের প্রোগ্রামটি নিম্নলিখিত আউটপুট −
তৈরি করে