आप किसी दिए गए चित्र में हफ़ सर्कल ट्रांसफ़ॉर्म का उपयोग करके मंडलियों का पता लगा सकते हैं। आप हफ़ सर्कल ट्रांसफ़ॉर्म apply लागू कर सकते हैं HoughCircles() . का उपयोग करके विधि, यह विधि निम्नलिखित मापदंडों को स्वीकार करती है -
-
इनपुट छवि का प्रतिनिधित्व करने वाली एक मैट वस्तु।
-
पाए गए मंडलियों के आउटपुट वैक्टर को स्टोर करने के लिए एक मैट ऑब्जेक्ट।
-
डिटेक्शन विधि का प्रतिनिधित्व करने वाला एक पूर्णांक चर।
-
दो दोहरे चर संचायक रिज़ॉल्यूशन के छवि रिज़ॉल्यूशन के व्युत्क्रम अनुपात और ज्ञात मंडलियों के केंद्रों के बीच न्यूनतम दूरी का प्रतिनिधित्व करते हैं।
उदाहरण
आयात करें आयात करें .swing.SwingFXUtils;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.image.ImageView;import javafx.scene.image.WritableImage;import javafx.stage.Stage;सार्वजनिक वर्ग HoughCircleTransform आवेदन बढ़ाता है { सार्वजनिक शून्य प्रारंभ (चरण चरण) IOException फेंकता है {// OpenCV कोर लाइब्रेरी लोड हो रहा है System.loadLibrary(Core.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="D:\\Images\\compass.jpg"; मैट स्रोत =Imgcodecs.imread (फ़ाइल); // छवि को ग्रे मैट ग्रे =नई मैट () में परिवर्तित करना; Imgproc.cvtColor(src, धूसर, Imgproc.COLOR_RGBA2GRAY); // छवि को धुंधला करना मैट ब्लर =नया मैट (); Imgproc.medianBlur (ग्रे, ब्लर, 5); // हफ़ सर्कल्स मैट सर्कल्स का पता लगाना =नया मैट (); Imgproc.HoughCircles(धुंधला, मंडलियां, Imgproc.HOUGH_GRADIENT, Math.PI/180, 150); के लिए (int i =0; iइनपुट इमेज
आउटपुट
निष्पादित करने पर, उपरोक्त निम्नलिखित आउटपुट उत्पन्न करता है -