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

Java में टॉप हैट और ब्लैक हैट मॉर्फोलॉजिकल ऑपरेशन्स की व्याख्या


मॉर्फोलॉजिकल ऑपरेशन्स ऑपरेशन्स का एक सेट है जो दिए गए आकार के अनुसार इमेजेज को प्रोसेस करता है।

  • इरोजन (Erosion) - इरोजन एक मॉर्फोलॉजिकल ऑपरेशन है जिसके दौरान पिक्सल्स को इमेज सीमाओं से हटा दिया जाता है।

  • डायलेशन (Dilation) - डायलेशन एक मॉर्फोलॉजिकल ऑपरेशन है जिसके दौरान पिक्सल्स को इमेज सीमाओं में जोड़ा जाता है।

  • जहां जोड़े/हटाए गए पिक्सल्स की कुल संख्या उपयोग किए गए स्ट्रक्चरिंग एलिमेंट के आयामों पर निर्भर करती है।

  • मॉर्फोलॉजिकल ओपनिंग - इस ऑपरेशन के दौरान दिए गए इनपुट पर इरोजन लागू किया जाता है और परिणाम पर डायलेशन लागू किया जाता है। इसका उपयोग इमेज के फोरग्राउंड से छोटी वस्तुओं को हटाने के लिए किया जाता है।

  • मॉर्फोलॉजिकल क्लोजिंग - इस ऑपरेशन के दौरान दिए गए इनपुट पर डायलेशन लागू किया जाता है और परिणाम पर इरोजन लागू किया जाता है। इसका उपयोग इमेज पर छोटी वस्तुओं को हटाने के लिए किया जाता है।

मॉर्फोलॉजिकल टॉप हैट दिए गए इमेज और इसकी ओपनिंग के बीच का अंतर है।

उदाहरण - टॉप हैट

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class TopHatExample {
    public static void main(String args[]) {
        // OpenCV कोर लाइब्रेरी लोड करना
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        // इमेज डेटा पढ़ना
        String file = "D:\\Images\\morph_input1.jpg";
        Mat src = Imgcodecs.imread(file);
        
        // गंतव्य मैट्रिक्स बनाना
        Mat dst = new Mat(src.rows(), src.cols(), src.type());
        
        // कर्नेल मैट्रिक्स ऑब्जेक्ट तैयार करना
        Mat kernel = Mat.ones(5, 5, CvType.CV_32F);
        
        // इमेज पर डायलेट लागू करना
        Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel);
        
        // इमेज प्रदर्शित करना
        HighGui.imshow("ब्लैकहैट ग्रेडिएंट", dst);
        HighGui.waitKey();
    }
}

इनपुट इमेज

Java में टॉप हैट और ब्लैक हैट मॉर्फोलॉजिकल ऑपरेशन्स की व्याख्या

आउटपुट

Java में टॉप हैट और ब्लैक हैट मॉर्फोलॉजिकल ऑपरेशन्स की व्याख्या

मॉर्फोलॉजिकल ब्लैक हैट क्लोजिंग और दी गई इमेज के बीच का अंतर है।

उदाहरण - ब्लैक हैट

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class BlackHatExample {
    public static void main(String args[]) {
        // OpenCV कोर लाइब्रेरी लोड करना
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        // इमेज डेटा पढ़ना
        String file = "D:\\Images\\morph_input1.jpg";
        Mat src = Imgcodecs.imread(file);
        
        // गंतव्य मैट्रिक्स बनाना
        Mat dst = new Mat(src.rows(), src.cols(), src.type());
        
        // कर्नेल मैट्रिक्स ऑब्जेक्ट तैयार करना
        Mat kernel = Mat.ones(5, 5, CvType.CV_32F);
        
        // इमेज पर डायलेट लागू करना
        Imgproc.morphologyEx(src, dst, Imgproc.MORPH_BLACKHAT, kernel);
        
        // इमेज प्रदर्शित करना
        HighGui.imshow("ब्लैकहैट ग्रेडिएंट", dst);
        HighGui.waitKey();
    }
}

इनपुट इमेज

Java में टॉप हैट और ब्लैक हैट मॉर्फोलॉजिकल ऑपरेशन्स की व्याख्या

आउटपुट

Java में टॉप हैट और ब्लैक हैट मॉर्फोलॉजिकल ऑपरेशन्स की व्याख्या

  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() मेथड का उपयोग करके इमेज की सामग्री पढ़ते हैं, तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा जाता है।आप