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

Swings का उपयोग करके OpenCV Mat ऑब्जेक्ट कैसे प्रदर्शित करें?


ImageIcon क्लास Icon इंटरफेस का एक कार्यान्वयन है जो छवियों से आइकन पेंट करता है। आप इस क्लास का उपयोग करके Swing विंडो पर छवियों को प्रदर्शित कर सकते हैं, इस क्लास का कंस्ट्रक्टर पैरामीटर के रूप में एक BufferedImage ऑब्जेक्ट स्वीकार करता है।

इसलिए Swing विंडो का उपयोग करके Mat ऑब्जेक्ट में संग्रहीत OpenCV छवि को प्रदर्शित करने के लिए, आपको इसे BufferedImage ऑब्जेक्ट में परिवर्तित करना होगा और इसे ImageIcon मेथड में पैरामीटर के रूप में पास करना होगा।

उदाहरण

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.imgcodecs.Imgcodecs;

public class DisplayingImagesUsingSwings {
    public static void main(String args[]) throws Exception {
        // OpenCV कोर लाइब्रेरी लोड करना
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        // फ़ाइल से छवि पढ़ना
        String file = "D:\\images\\tree.jpg";
        Mat image = Imgcodecs.imread(file);
        // छवि एन्कोड करना
        MatOfByte matOfByte = new MatOfByte();
        Imgcodecs.imencode(".jpg", image, matOfByte);
        // एन्कोडेड Mat को बाइट सरणी में संग्रहीत करना
        byte[] byteArray = matOfByte.toArray();
        // Buffered Image तैयार करना
        InputStream in = new ByteArrayInputStream(byteArray);
        BufferedImage bufImage = ImageIO.read(in);
        // JFrame इंस्टेंटिएट करना
        JFrame frame = new JFrame();
        // JFrame में कंटेंट सेट करना
        frame.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
        frame.pack();
        frame.setVisible(true);
        System.out.println("Image Loaded");
    }
}

आउटपुट

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

Swings का उपयोग करके OpenCV Mat ऑब्जेक्ट कैसे प्रदर्शित करें?

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