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

Java OpenCV लाइब्रेरी का उपयोग करके छवि में शोर कैसे जोड़ें?


OpenCV का उपयोग करके दी गई छवि में शोर जोड़ने के लिए -

  • दी गई छवि की सामग्री को 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 {
        // OpenCV कोर लाइब्रेरी लोड करना
        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);
        // मैट्रिक्स को 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("Adding Noise Example");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]) {
        launch(args);
    }
}

इनपुट छवि

Java OpenCV लाइब्रेरी का उपयोग करके छवि में शोर कैसे जोड़ें?

आउटपुट

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

Java OpenCV लाइब्रेरी का उपयोग करके छवि में शोर कैसे जोड़ें?

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

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

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

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

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

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