Contours कुछ और नहीं बल्कि एक विशेष आकृति की सीमा के साथ सभी बिंदुओं को मिलाने वाली रेखा है। इसका उपयोग करके आप कर सकते हैं -
-
किसी वस्तु का आकार खोजें।
-
किसी वस्तु के क्षेत्रफल की गणना करें।
-
किसी वस्तु का पता लगाएं।
-
किसी वस्तु को पहचानें।
आप findContours() का उपयोग करके एक छवि में विभिन्न आकृतियों, वस्तुओं की रूपरेखा पा सकते हैं तरीका। यह विधि निम्नलिखित मापदंडों को स्वीकार करती है -
-
एक द्विआधारी छवि।
-
MatOfPoint . प्रकार की एक खाली सूची वस्तु आकृति को स्टोर करने के लिए।
-
इमेज टोपोलॉजी को स्टोर करने के लिए एक खाली मैट ऑब्जेक्ट।
-
दी गई छवि की रूपरेखा खोजने के लिए मोड और विधि निर्दिष्ट करने के लिए दो पूर्णांक चर।
उदाहरण
आयात करें;import org.opencv.core.Scalar;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;public class FindingContours { public static void main(String args[]) अपवाद फेंकता है {// OpenCV लोड हो रहा है कोर लाइब्रेरी सिस्टम। लोड लाइब्रेरी (कोर.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="D:\\Images\\shapes.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); // ढूँढना समोच्च सूचीआउटपुट
Mat [29*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829510,dataAddr=0x19826dc0 ]Mat [ 58*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829580,dataAddr=0x19826 ]मैट [ 35*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19828be0,dataAddr=0x19827100 ]Mat [ 117*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829190,dataAddr=0x19827be0 [ 1*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x198292e0,dataAddr=0xba8280 ]Mat [ 78*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829350,dataAddr=0x19827680 ]Mat *1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x198289b0,dataAddr=0x19827940 ]Mat [120*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19828e80,dataAddr=0x19827 [b80 ]Mat *CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829430,dataAddr=0xb84580 ]Mat [4*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19829120,dataAddr=0xb84440 ]CV_ 136*1 , isCont=true, isSubmat=false, NativeObj=0x19828ef0,dataAddr=0 x19827f80 ]चटाई [ 120*1*CV_32SC2, isCont=true, isSubmat=false, NativeObj=0x19828b00,dataAddr=0x19828440]