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

इमेज प्रोसेसिंग/OpenCV इमेज इरोजन Java उदाहरण।


इरोजन और डायलेशन दो बुनियादी मॉर्फोलॉजिकल ऑपरेशन्स हैं। जैसा कि नाम से पता चलता है, मॉर्फोलॉजिकल ऑपरेशन्स वे ऑपरेशन्स हैं जो छवियों को उनके आकार के अनुसार संसाधित करते हैं।

इरोजन ऑपरेशन के दौरान, छवि सीमाओं से अतिरिक्त पिक्सेल हटा दिए जाते हैं, इरोजन प्रक्रिया के दौरान हटाए गए पिक्सेल की कुल संख्या उपयोग किए गए स्ट्रक्चरिंग एलिमेंट के आयामों पर निर्भर करती है।

आप Imgproc क्लास के erode() मेथड का उपयोग करके छवि पर इरोजन ऑपरेशन कर सकते हैं, यह मेथड स्रोत, गंतव्य और कर्नेल का प्रतिनिधित्व करने वाले तीन मैट ऑब्जेक्ट्स स्वीकार करता है।

उदाहरण

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 ImageErosion extends Application {
    public void start(Stage stage) throws IOException {
        // OpenCV कोर लाइब्रेरी लोड करना
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        // छवि डेटा पढ़ना
        String file = "D:\\Images\\lamma2.jpg";
        Mat src = Imgcodecs.imread(file);
        // गंतव्य मैट्रिक्स बनाना
        Mat dst = new Mat(src.rows(), src.cols(), src.type());
        // कर्नेल मैट्रिक्स ऑब्जेक्ट तैयार करना
        Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size((2 * 2) + 1, (2 * 2) + 1));
        // छवि पर इरोजन लागू करना
        Imgproc.erode(src, dst, kernel);
        // मैट्रिक्स को 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("Erosion Example");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]) {
        launch(args);
    }
}

इनपुट छवि

इमेज प्रोसेसिंग/OpenCV इमेज इरोजन Java उदाहरण।

आउटपुट

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

इमेज प्रोसेसिंग/OpenCV इमेज इरोजन Java उदाहरण।

  1. Java का उपयोग करके OpenCV में ब्लर (एवरेजिंग) कैसे लागू करें? Java का उपयोग करके OpenCV में ब्लर (एवरेजिंग) कैसे लागू करें?

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

  1. OpenCV का उपयोग करके JavaFX उदाहरण: इमेज की ब्राइटनेस कम करना OpenCV का उपयोग करके JavaFX उदाहरण: इमेज की ब्राइटनेस कम करना

    Java का उपयोग करके इमेज की ब्राइटनेस बदलने का एक तरीका convertTo() मेथड का उपयोग करना है। यह मेथड दी गई मैट्रिक्स पर आवश्यक गणना करती है ताकि इमेज के कंट्रास्ट और ब्राइटनेस को बदला जा सके। यह मेथड 4 पैरामीटर्स स्वीकार करती है −mat − परिणाम रखने के लिए खाली मैट्रिक्स जिसका आकार और प्रकार स्रोत मैट्रि

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

    CascadeClassifier क्लास का उपयोग क्लासिफायर फाइल लोड करने और इमेज में वांछित ऑब्जेक्ट्स का पता लगाने के लिए किया जाता है।इस क्लास की detectMultiScale() मेथड विभिन्न आकारों के कई ऑब्जेक्ट्स का पता लगाती है। यह मेथड स्वीकार करती है −इनपुट इमेज को रखने वाली Mat क्लास का ऑब्जेक्ट।पता लगाए गए चेहरों को स