कैनी एज डिटेक्टर को इष्टतम डिटेक्टर के रूप में जाना जाता है क्योंकि यह केवल मौजूदा किनारों का पता लगाता है, प्रति पृष्ठ केवल एक प्रतिक्रिया देता है और एज पिक्सल और पता लगाए गए पिक्सल के बीच की दूरी को कम करता है।
द कैनी () Imgproc वर्ग की विधि दी गई छवि पर कैनी एज डिटेक्शन एल्गोरिदम लागू करती है। यह विधि स्वीकार करती है -
-
स्रोत और गंतव्य छवियों का प्रतिनिधित्व करने वाली दो मैट ऑब्जेक्ट।
-
थ्रेशोल्ड मान रखने के लिए दो दोहरे चर।
कैनी एज डिटेक्टर का उपयोग करके किसी दिए गए चित्र के किनारों का पता लगाने के लिए -
-
imread() . का उपयोग करके स्रोत छवि की सामग्री पढ़ें Imgcodecs . की विधि कक्षा।
-
cvtColor() . का उपयोग करके इसे ग्रे स्केल इमेज में बदलें Imgproc . की विधि कक्षा।
-
धुंधला () . का उपयोग करके परिणामी (धूसर) छवि को धुंधला करें Imgproc . की विधि कर्नेल मान 3 के साथ वर्ग।
-
canny() . का उपयोग करके धुंधली छवि पर कैनी एज डिटेक्शन एल्गोरिदम लागू करें Imgproc . की विधि ।
-
0 के रूप में सभी मानों के साथ एक खाली मैट्रिक्स बनाएं।
-
इसमें पाए गए किनारों को copyTo() . का उपयोग करके जोड़ें चटाई . की विधि कक्षा।
उदाहरण
आयात करें javafx.scene.Scene आयात करें आयात करें सार्वजनिक शून्य प्रारंभ (चरण चरण) IOException फेंकता है {// OpenCV कोर लाइब्रेरी लोड हो रहा है System.loadLibrary(Core.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="डी:\\छवियां\\win2.jpg"; मैट स्रोत =Imgcodecs.imread (फ़ाइल); // किनारों, स्रोत, गंतव्य मैट ग्रे =नए मैट (src.rows (), src.cols (), src.type ()) को स्टोर करने के लिए एक खाली मैट्रिस बनाना; चटाई किनारों =नई चटाई (src.rows (), src.cols (), src.type ()); मैट डीएसटी =नया मैट (src.rows (), src.cols (), src.type (), नया स्केलर (0)); // छवि को ग्रे Imgproc.cvtColor (src, ग्रे, Imgproc.COLOR_RGB2GRAY) में कनवर्ट करना; // छवि को धुंधला करना Imgproc.blur (ग्रे, किनारों, नया आकार (3, 3)); // किनारों का पता लगाना Imgproc.Canny (किनारों, किनारों, 100, 100 * 3); // पता लगाए गए किनारों को गंतव्य मैट्रिक्स में कॉपी करना src.copyTo(dst, edge); // मैट्रिक्स को JavaFX लिखने योग्य छवि में कनवर्ट करना छवि img =HighGui.toBufferedImage(dst); WritableImage writableImage=SwingFXUtils.toFXImage((BufferedImage) img, null); // छवि दृश्य सेट करना ImageView छवि दृश्य =नया छवि दृश्य (लिखने योग्य छवि); imageView.setX(10); imageView.setY(10); imageView.setFitWidth(575); imageView.setPreserveRatio (सच); // दृश्य वस्तु सेट करना समूह रूट =नया समूह (छवि दृश्य); दृश्य दृश्य =नया दृश्य (रूट, 595, 400); स्टेज.सेटटाइटल ("गॉसियन ब्लर उदाहरण"); स्टेज.सेटसीन (दृश्य); मंच पर शो(); } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग []) {लॉन्च (तर्क); }}इनपुट इमेज
आउटपुट
निष्पादित करने पर, उपरोक्त निम्नलिखित आउटपुट उत्पन्न करता है -