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

छवि समोच्च जावा ओपनसीवी लाइब्रेरी का क्षेत्र कैसे खोजें?


Contours कुछ और नहीं बल्कि एक विशेष आकृति की सीमा के साथ सभी बिंदुओं को मिलाने वाली रेखा है। इसका उपयोग करके आप कर सकते हैं -

  • किसी वस्तु का आकार खोजें।

  • किसी वस्तु के क्षेत्रफल की गणना करें।

  • किसी वस्तु का पता लगाएं।

  • किसी वस्तु को पहचानें।

आप findContours() का उपयोग करके एक छवि में विभिन्न आकृतियों, वस्तुओं की रूपरेखा पा सकते हैं तरीका। इसी तरह आप ड्रा कर सकते हैं

आप दिए गए इनपुट इमेज में आकृतियों का क्षेत्रफल भी ज्ञात कर सकते हैं। ऐसा करने के लिए आपको contourArea() . का आह्वान करना होगा Imgproc वर्ग की विधि। यह विधि किसी विशेष आकार के समोच्च को स्वीकार करती है, उसके क्षेत्र को ढूंढती है और वापस करती है।

उदाहरण

निम्नलिखित जावा उदाहरण दिए गए चित्र में प्रत्येक आकृति/वस्तु का क्षेत्रफल ढूँढता है, 5000 से कम क्षेत्र वाले आकार की रूपरेखा लाल और शेष सफेद रंग में ड्रा करें।

आयात करें .MatOfPoint;import org.opencv.core.Point;import org.opencv.core.Scalar;import org.opencv.highgui.highGui;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;public class FindContourArea {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) अपवाद फेंकता है {// OpenCV कोर लाइब्रेरी लोड हो रहा है System.loadLibrary (Core.NATIVE_LIBRARY_NAME); // छवि की सामग्री पढ़ना स्ट्रिंग फ़ाइल ="D:\\Images\\javafx_graphical.jpg"; मैट स्रोत =Imgcodecs.imread (फ़ाइल); // स्रोत छवि को बाइनरी मैट ग्रे में परिवर्तित करना =नया मैट (src.rows (), src.cols (), src.type ()); Imgproc.cvtColor(src, धूसर, Imgproc.COLOR_BGR2GRAY); मैट बाइनरी =नया मैट (src.rows (), src.cols (), src.type (), नया स्केलर (0)); Imgproc.threshold(ग्रे, बाइनरी, 100, 255, Imgproc.THRESH_BINARY_INV); // ढूँढना समोच्च सूची आकृति =नई ArrayList<>(); चटाई पदानुक्रम =नई चटाई (); Imgproc.findContours(बाइनरी, कंट्रोस, पदानुक्रम, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE); मैट ड्रा =Mat.zeros (src.size (), CvType.CV_8UC3); के लिए (int i =0; i 5000.0){ Imgproc.drawContours(draw, Contours, i, color, 2, Imgproc.LINE_8, hierarchey, 2, new Point() ); } और {रंग =नया अदिश (255, 255, 255); Imgproc.drawContours(draw, Contours, i, color, 2, Imgproc.LINE_8, hierarchey, 2, new Point() ); } } HighGui.imshow("Contours Operation", Draw); हाईगुई.वेटकी (); }}

इनपुट छवि

आउटपुट

4091.06336.0189.06439.04903.0

उपरोक्त आउटपुट के अतिरिक्त, उपरोक्त प्रोग्राम निम्न विंडो उत्पन्न करता है -

छवि समोच्च जावा ओपनसीवी लाइब्रेरी का क्षेत्र कैसे खोजें?


  1. Java OpenCV लाइब्रेरी का उपयोग करके मिरर इमेज कैसे बनाएं?

    दर्पण छवि बनाने के लिए ImageIO.read() विधि का उपयोग करके आवश्यक छवि पढ़ें। छवि की ऊंचाई और चौड़ाई प्राप्त करें। परिणाम संग्रहीत करने के लिए एक खाली बफर्ड छवि बनाएं लूप के लिए नेस्टेड का उपयोग करना छवि में प्रत्येक पिक्सेल से होकर गुजरता है। छवि की चौड़ाई को दाएं से बाएं दोहराएं। ge

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

    cvtColor() Imgproc . की विधि वर्ग छवि के रंग को एक से दूसरे में बदलता/बदलता है। यह विधि तीन मापदंडों को स्वीकार करती है - स्रोत - स्रोत का प्रतिनिधित्व करने वाली एक मैट्रिक्स वस्तु। डीएसटी - गंतव्य का प्रतिनिधित्व करने वाली एक मैट्रिक्स वस्तु। कोड - एक पूर्णांक मान जो गंतव्य छवि के रंग को द

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

    OpenCV लाइब्रेरी का उपयोग करके आप इमेज प्रोसेसिंग ऑपरेशन जैसे इमेज फिल्टरिंग, ज्योमेट्रिकल इमेज ट्रांसफॉर्मेशन, कलर स्पेस कन्वर्जन, हिस्टोग्राम आदि कर सकते हैं। इमेज लिखना जब भी आप Imgcodecs वर्ग की imread() पद्धति का उपयोग करके किसी छवि की सामग्री को पढ़ते हैं तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा