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

जावा उदाहरण का उपयोग करके ओपनसीवी में ओत्सु थ्रेशोल्ड तकनीक की व्याख्या करें


एक छवि के विभाजन के लिए थ्रेसहोल्डिंग एक सरल तकनीक है। इसका उपयोग अक्सर बाइनरी इमेज बनाने के लिए किया जाता है। इसमें किसी दिए गए थ्रेशोल्ड मान से बड़े पिक्सेल को एक मानक मान से बदल दिया जाएगा

  • सामान्य तौर पर, संपूर्ण छवि में थ्रेशोल्ड मान स्थिर रहता है।

  • अनुकूली थ्रेशोल्डिंग थ्रेशोल्ड मान की गणना छोटे क्षेत्रों के लिए की जाती है और इसलिए, अलग-अलग क्षेत्रों के लिए अलग-अलग थ्रेशोल्ड मान होंगे।

जबकि ओत्सु थ्रेशोल्ड तकनीक में थ्रेशोल्ड मान स्वचालित रूप से निर्धारित होता है, यह छवि हिस्टोग्राम के आधार पर एक इष्टतम थ्रेशोल्ड मान चुनता है।

दहलीज () Imgproc . की विधि वर्ग स्वीकार करता है

  • स्रोत और गंतव्य छवियों का प्रतिनिधित्व करने वाली दो मैट ऑब्जेक्ट।

  • थ्रेशोल्ड या मानक मान का प्रतिनिधित्व करने वाले दो पूर्णांक चर।

  • साधारण थ्रेशोल्ड के प्रकार का प्रतिनिधित्व करने वाला एक पूर्णांक चर।

पैरामीटर के रूप में और दी गई छवि पर थ्रेशोल्ड ऑपरेशन करता है और परिणाम को गंतव्य मैट्रिक्स में संग्रहीत करता है।

एक छवि पर Otsu थ्रेशोल्ड तकनीक के लिए Imgproc.THRESH_OTSU को दरकिनार करते हुए इस विधि को लागू करें तकनीक के प्रकार के रूप में।

उदाहरण

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

इनपुट छवि

जावा उदाहरण का उपयोग करके ओपनसीवी में ओत्सु थ्रेशोल्ड तकनीक की व्याख्या करें

आउटपुट

जावा उदाहरण का उपयोग करके ओपनसीवी में ओत्सु थ्रेशोल्ड तकनीक की व्याख्या करें


  1. जावा का उपयोग करके ओपनसीवी में ब्लर (औसत) कैसे कार्यान्वित करें?

    आप कम-पास वाले फ़िल्टर का उपयोग करके किसी छवि को फ़िल्टर करके उसे धुंधला कर सकते हैं, यह एक छवि से उच्च आवृत्ति सामग्री (शोर, किनारों) को हटा देता है। औसत, OpenCV द्वारा प्रदान की गई धुंधली तकनीकों में से एक है, यह केंद्रीय तत्व को कर्नेल क्षेत्र में सभी पिक्सेल के औसत से बदल देता है आप धुंधला ()

  1. OpenCV का उपयोग करके किसी छवि की चमक को कम करने के लिए JavaFX उदाहरण।

    Java का उपयोग करके किसी छवि की चमक को बदलने का एक तरीका convertTo() का उपयोग करना है तरीका। यह विधि किसी छवि के कंट्रास्ट और चमक को बदलने के लिए दिए गए मैट्रिक्स पर आवश्यक गणना करती है। यह विधि 4 पैरामीटर स्वीकार करती है - चटाई -रिक्त मैट्रिक्स परिणाम को समान आकार और स्रोत मैट्रिक्स के प्रकार के

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

    CascadeClassifier वर्ग का उपयोग क्लासिफायर फ़ाइल को लोड करने और छवि में वांछित वस्तुओं का पता लगाने के लिए किया जाता है। इस वर्ग का डिटेक्टमल्टीस्केल () विभिन्न आकारों की कई वस्तुओं का पता लगाता है। यह विधि स्वीकार करती है - इनपुट छवि धारण करने वाली कक्षा Mat की एक वस्तु। पता लगाए गए चेहरों क