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

ओपनसीवी जावा लाइब्रेरी का उपयोग करके दो छवियों के प्रमुख बिंदुओं का मिलान कैसे करें?


पता लगाएं () org.opencv.features2d.Feature2D . की विधि (सार) वर्ग दी गई छवि के प्रमुख बिंदुओं का पता लगाता है। इस पद्धति के लिए, आपको एक चटाई . पास करने की आवश्यकता है स्रोत छवि और एक खाली MatOfKeyPoint . का प्रतिनिधित्व करने वाली वस्तु मुख्य बिंदुओं को पढ़ने के लिए आपत्ति करें।

ड्रामैच () org.opencv.features2d.Feature2D . की विधि कक्षा दो दी गई छवियों के प्रमुख बिंदुओं के बीच मिलान ढूंढती है और उन्हें खींचती है। यह विधि निम्नलिखित मापदंडों को स्वीकार करती है -

  • src1चटाई . की एक वस्तु प्रथम स्रोत छवि का प्रतिनिधित्व करने वाला वर्ग।

  • कुंजी बिंदु1 - MatOfKeyPoint . का एक ऑब्जेक्ट प्रथम स्रोत छवि के मुख्य बिंदुओं का प्रतिनिधित्व करने वाला वर्ग।

  • src2 - मैट क्लास का एक ऑब्जेक्ट जो सेकेंड सोर्स इमेज को दर्शाता है।

  • कुंजीबिंदु2 - MatOfKeyPoint . का एक ऑब्जेक्ट द्वितीय स्रोत छवि के मुख्य बिंदुओं का प्रतिनिधित्व करने वाला वर्ग।

  • मिलान1to2 - पहली छवि से दूसरी छवि से मेल खाता है, जिसका अर्थ है कि keypoints1[i] का keypoints2[matches[i]] में एक समान बिंदु है।

  • डीएसटी - मैट क्लास का एक ऑब्जेक्ट जो डेस्टिनेशन इमेज को दर्शाता है।

इसलिए, दो छवियों के प्रमुख बिंदुओं का मिलान करने के लिए -

  • इमरीड () . का उपयोग करके दो स्रोत छवियों को पढ़ें विधि।

  • पहचान () . का उपयोग करके दो छवियों के मुख्य बिंदु प्राप्त करें विधि।

  • drawMatches() . का उपयोग करके मिलान ढूंढें और बनाएं विधि।

उदाहरण

आयात करें .opencv.features2d.Features2d;import org.opencv.highgui.highGui;import org.opencv.imgcodecs.Imgcodecs;public class MatchingKeypoints { public static void main(String args[]) अपवाद फेंकता है {// OpenCV कोर लाइब्रेरी सिस्टम लोड हो रहा है लोड लाइब्रेरी (कोर.NATIVE_LIBRARY_NAME); // स्रोत छवियों को पढ़ना String file1 ="D:\\Images\\feature1.jpg"; मैट src1 =Imgcodecs.imread(file1); स्ट्रिंग फ़ाइल 2 ="डी:\\छवियां\\फीचर2.jpg"; मैट src2 =Imgcodecs.imread(file2); // गंतव्य छवि को संग्रहीत करने के लिए एक खाली मैट्रिक्स बनाना Mat dst =new Mat (); FastFeatureDetector डिटेक्टर =FastFeatureDetector.create (); // दोनों छवियों में मुख्य बिंदुओं का पता लगाना MatOfKeyPoint keyPoints1 =new MatOfKeyPoint (); डिटेक्टर.डिटेक्ट (src1, keyPoints1); MatOfKeyPoint keyPoints2 =नया MatOfKeyPoint (); डिटेक्टर.डिटेक्ट (src2, keyPoints2); MatOfDMatch matof1to2 =नया MatOfDMatch (); विशेषताएं2d.drawMatches(src1, keyPoints1, src2, keyPoints2, matof1to2, dst); HighGui.imshow ("फ़ीचर मिलान", dst); हाईगुई.वेटकी (); }}

इनपुट इमेज

Image1 -

ओपनसीवी जावा लाइब्रेरी का उपयोग करके दो छवियों के प्रमुख बिंदुओं का मिलान कैसे करें?

Image2 -

ओपनसीवी जावा लाइब्रेरी का उपयोग करके दो छवियों के प्रमुख बिंदुओं का मिलान कैसे करें?

आउटपुट

ओपनसीवी जावा लाइब्रेरी का उपयोग करके दो छवियों के प्रमुख बिंदुओं का मिलान कैसे करें?


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

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

  1. जावा ओपनसीवी का उपयोग करके दो छवियों पर बिटवाइज़ या ऑपरेशन कैसे करें?

    आप bitwise_or() का उपयोग करके बिटवाइज़ या दो छवियों के बीच गणना कर सकते हैं org.opencv.core.Core . की विधि कक्षा। यह विधि तीन Mat . को स्वीकार करती है स्रोत, गंतव्य और परिणाम मैट्रिक्स का प्रतिनिधित्व करने वाली वस्तुएं, स्रोत मैट्रिसेस में प्रत्येक तत्व के बिटवाइज़ वियोजन की गणना करती हैं और परिण

  1. जावा ओपनसीवी लाइब्रेरी का उपयोग करके एक छवि कैसे लिखें?

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