Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java का उपयोग करके OpenCV में गाउशियन ब्लर कैसे लागू करें?


आप लो-पास फिल्टर का उपयोग करके छवि को फ़िल्टर करके ब्लर कर सकते हैं, यह छवि से उच्च आवृत्ति सामग्री (शोर, किनारे) को हटा देता है।

गाउशियन ब्लरिंग OpenCV द्वारा प्रदान की जाने वाली ब्लरिंग तकनीकों में से एक है, यह छवि के शोर को हटाने में अत्यधिक कुशल है। यह कर्नेल क्षेत्र में सभी पिक्सेल्स के औसत के साथ केंद्रीय तत्व को प्रतिस्थापित करता है।

आप GaussianBlur() मेथड का उपयोग करके इस तकनीक द्वारा छवि को फ़िल्टर/ब्लर कर सकते हैं, यह मेथड स्वीकार करता है -

  • स्रोत और गंतव्य छवियों का प्रतिनिधित्व करने वाले दो Mat ऑब्जेक्ट्स।

  • कर्नेल के आकार का प्रतिनिधित्व करने वाला एक Size ऑब्जेक्ट।

  • 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 {
        // OpenCV कोर लाइब्रेरी लोड करना
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        String file = "D:\\Images\\elephant.jpg";
        Mat src = Imgcodecs.imread(file);
        // गंतव्य मैट्रिक्स बनाना
        Mat dst = new Mat(src.rows(), src.cols(), src.type());
        // छवि पर GaussianBlur लागू करना
        Imgproc.GaussianBlur(src, dst, new Size(15, 15), 0);
        // मैट्रिक्स को JavaFX राइटेबल इमेज में परिवर्तित करना
        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("Gaussian Blur Example");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]) {
        launch(args);
    }
}

इनपुट छवि

Java का उपयोग करके OpenCV में गाउशियन ब्लर कैसे लागू करें?

आउटपुट

उपरोक्त प्रोग्राम निष्पादित करने पर निम्नलिखित आउटपुट उत्पन्न होता है -

Java का उपयोग करके OpenCV में गाउशियन ब्लर कैसे लागू करें?

  1. Java OpenCV लाइब्रेरी का उपयोग करके इमेज को फ्लिप कैसे करें? Java OpenCV लाइब्रेरी का उपयोग करके इमेज को फ्लिप कैसे करें?

    Core क्लास की flip() मेथड इमेज को x/y अक्ष के साथ फ्लिप करती है। यह मेथड स्वीकार करती है −मूल इमेज का डेटा रखने वाला एक स्रोत मैट्रिक्स।परिणामी इमेज का डेटा रखने के लिए एक खाली गंतव्य मैट्रिक्स।इमेज की दिशा निर्दिष्ट करने के लिए एक फ्लिप कोड (0 - x अक्ष, +ve - y अक्ष, -ve - दोनों अक्ष)।इमेज को फ्लिप

  1. Java OpenCV लाइब्रेरी का उपयोग करके मिरर इमेज कैसे बनाएं? Java OpenCV लाइब्रेरी का उपयोग करके मिरर इमेज कैसे बनाएं?

    मिरर इमेज बनाने के लिएImageIO.read() मेथड का उपयोग करके आवश्यक इमेज पढ़ें।इमेज की ऊंचाई और चौड़ाई प्राप्त करें।परिणाम स्टोर करने के लिए एक खाली बफर्ड इमेज बनाएं।नेस्टेड फॉर लूप का उपयोग करके इमेज में प्रत्येक पिक्सेल को पार करें।इमेज की चौड़ाई को दाएं से बाएं की ओर पुनरावृत्त करें।getRGB() मेथड का उ

  1. Java OpenCV लाइब्रेरी का उपयोग करके इमेज कैसे लिखें? Java OpenCV लाइब्रेरी का उपयोग करके इमेज कैसे लिखें?

    OpenCV लाइब्रेरी का उपयोग करके आप इमेज प्रोसेसिंग ऑपरेशन कर सकते हैं जैसे इमेज फ़िल्टरिंग, ज्यामितीय इमेज ट्रांसफॉर्मेशन, कलर स्पेस रूपांतरण, हिस्टोग्राम, आदि।इमेज लिखनाजब भी आप Imgcodecs क्लास की imread() मेथड का उपयोग करके इमेज की सामग्री पढ़ते हैं, तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा जाता है।आप