एक छवि के विभाजन के लिए थ्रेसहोल्डिंग एक सरल तकनीक है। इसका उपयोग अक्सर बाइनरी इमेज बनाने के लिए किया जाता है। इसमें किसी दिए गए थ्रेशोल्ड मान से बड़े पिक्सेल को एक मानक मान से बदल दिया जाएगा।
अनुकूली थ्रेशोल्डिंग वह तरीका है जहां छोटे क्षेत्रों के लिए थ्रेशोल्ड मान की गणना की जाती है और इसलिए, अलग-अलग क्षेत्रों के लिए अलग-अलग थ्रेशोल्ड मान होंगे।
अनुकूली सीमा () विधि दी गई छवि पर अनुकूली थ्रेसहोल्ड ऑपरेशन करती है। इस विधि के पैरामीटर निम्नलिखित हैं -
-
स्रोत और गंतव्य छवियों का प्रतिनिधित्व करने वाली दो मैट ऑब्जेक्ट।
-
थ्रेशोल्ड मान का प्रतिनिधित्व करने वाला एक पूर्णांक चर।
-
अनुकूली विधि और उपयोग किए जाने वाले थ्रेशोल्ड प्रकार का प्रतिनिधित्व करने वाले दो पूर्णांक चर।
-
थ्रेशोल्ड मान की गणना करने के लिए उपयोग किए जाने वाले पिक्सेल पड़ोस के आकार का प्रतिनिधित्व करने वाला एक पूर्णांक चर प्रकार।
-
दोहरे प्रकार का एक पूर्णांक चर दोनों विधियों में प्रयुक्त स्थिरांक का प्रतिनिधित्व करता है।
उदाहरण
आयात करें javafx.scene.Scene आयात करें org.opencv.highgui.HighGui;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;पब्लिक क्लास एडेप्टिव थ्रेसहोल्ड एप्लिकेशन का विस्तार करता है {पब्लिक शून्य प्रारंभ (स्टेज चरण) IOException फेंकता है {// OpenCV कोर लाइब्रेरी सिस्टम लोड हो रहा है लोड लाइब्रेरी (कोर.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="डी:\\छवियां\\win2.jpg"; मैट src =Imgcodecs.imread (फ़ाइल, Imgcodecs.IMREAD_GRAYSCALE); // गंतव्य छवि को संग्रहीत करने के लिए एक खाली मैट्रिस बनाएं। मैट डीएसटी =नया मैट (src.rows (), src.cols (), src.type ()); // साधारण सीमा लागू करना Imgproc.adaptiveThreshold(src, dst, 125, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY, 11, 12); // मैट्रिक्स को 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); स्टेज.सेटटाइटल ("एडेप्टिव थ्रेशोल्ड"); स्टेज.सेटसीन (दृश्य); मंच पर शो(); } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग आर्ग []) {लॉन्च (तर्क); }}इनपुट इमेज
आउटपुट
निष्पादित करने पर, उपरोक्त प्रोग्राम निम्नलिखित विंडो उत्पन्न करता है -