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

इमेज प्रोसेसिंग में मॉर्फोलॉजिकल ग्रेडिएंट क्या है?


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

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

मॉर्फोलॉजिकल ग्रेडिएंट वह ऑपरेशन है जो इमेज के डायलेशन और इरोजन के बीच के अंतर के बराबर होता है। परिणामी इमेज में प्रत्येक पिक्सल मान आसपास के पिक्सल्स में कंट्रास्ट इंटेंसिटी को दर्शाता है। इसका उपयोग एज डिटेक्शन, सेगमेंटेशन और ऑब्जेक्ट की रूपरेखा खोजने के लिए किया जाता है।

उदाहरण

निम्नलिखित Java उदाहरण दी गई इमेज के मॉर्फोलॉजिकल ग्रेडिएंट वाली एक विंडो उत्पन्न करता है -

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.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class MorphologicalGradient extends Application {
    @Override
    public void start(Stage stage) throws IOException {
        // 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_GRADIENT, 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("मॉर्फोलॉजिकल ग्रेडिएंट");
        stage.setScene(scene);
        stage.show();
    }
    
    public static void main(String args[]) {
        launch(args);
    }
}

इनपुट इमेज

इमेज प्रोसेसिंग में मॉर्फोलॉजिकल ग्रेडिएंट क्या है?

आउटपुट इमेज

इमेज प्रोसेसिंग में मॉर्फोलॉजिकल ग्रेडिएंट क्या है?

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

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

  1. इमेज की शार्पनेस बदलने के लिए OpenCV JavaFX एप्लिकेशन इमेज की शार्पनेस बदलने के लिए OpenCV JavaFX एप्लिकेशन

    इमेज को शार्प करना ब्लर के विपरीत है। OpenCV लाइब्रेरी का उपयोग करके इमेज की शार्पनेस बदलने के लिए, आपको गाऊसी फिल्टर का उपयोग करके इसे स्मूथ/ब्लर करना होगा और फिर स्मूथ वर्जन को मूल इमेज से घटाना होगा।उदाहरणनिम्न JavaFX प्रोग्राम में अल्फा और बीटा मानों को दर्शाने वाले दो स्लाइडर हैं।import java.aw

  1. पायथन में इमेज प्रोसेसिंग पायथन में इमेज प्रोसेसिंग

    पायथन इमेज प्रोसेसिंग के लिए बहुत सारी लाइब्रेरी प्रदान करता है, जिनमें शामिल हैं - OpenCV - इमेज प्रोसेसिंग लाइब्रेरी मुख्य रूप से रीयल-टाइम कंप्यूटर विजन पर केंद्रित है जिसमें 2D और 3D फीचर टूलकिट, चेहरे और हावभाव पहचान, मानव-कंप्यूटर इंटरैक्शन, मोबाइल रोबोटिक्स, वस्तु पहचान और अन्य जैसे क्षेत्र