द पता लगाएं () 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 -
आउटपुट