इमेज कंटूर
छवि पर contours खोजें और गिनें।
OpenCV की contour detection का उपयोग करके thresholded binary या grayscale छवि से contours (आकृतियों की सीमाएँ) का पता लगाएँ और निकालें, पहचाने गए contours को छवि पर ड्रॉ करें, और shape analysis, object boundary detection, तथा contour-based image processing workflows के लिए coordinates, hierarchy information, और count सहित contour data वापस करें.
यह ब्लॉक कैसे काम करता है
यह ब्लॉक किसी छवि में contours (आकृतियों की जुड़ी हुई सीमाएँ) का पता लगाता है और visualization के लिए उन्हें ड्रॉ करता है। ब्लॉक:
उत्तम परिणामों के लिए एक input image प्राप्त करता है जिसे thresholded (binary या grayscale) होना चाहिए
यदि छवि रंगीन है, तो उसे grayscale में बदलता है (BGR color images को grayscale में परिवर्तित करके संभालता है)
OpenCV के findContours फ़ंक्शन का उपयोग करके contours का पता लगाता है:
केवल external contours (आकृतियों की बाहरी सीमाएँ) खोजने के लिए RETR_EXTERNAL retrieval mode का उपयोग करता है
contour points को संपीड़ित करने के लिए CHAIN_APPROX_SIMPLE approximation method का उपयोग करता है (अनावश्यक बिंदुओं को कम करता है)
सभी जुड़े हुए boundary points का पता लगाता है जो closed या open contours बनाते हैं
contours को बिंदुओं की arrays और contour relationships का वर्णन करने वाली hierarchy information के रूप में वापस करता है
छवि पर detected contours ड्रॉ करता है:
visualization के लिए grayscale छवि को वापस BGR color format में बदलता है
configurable line thickness का उपयोग करके छवि पर सभी contours ड्रॉ करता है
डिफ़ॉल्ट रूप से contour lines के लिए बैंगनी रंग (BGR में 255, 0, 255) का उपयोग करता है
दृश्य निरीक्षण के लिए contours को सीधे छवि पर ड्रॉ करता है
छवि में detected contours की कुल संख्या गिनता है
contours ड्रॉ की हुई छवि, contours data (point arrays), hierarchy information, और contour count वापस करता है
ब्लॉक एक thresholded (binary) छवि की अपेक्षा करता है, जहाँ वस्तुएँ सफ़ेद और पृष्ठभूमि काली हो (या इसके विपरीत), ताकि contour detection सर्वोत्तम हो सके। Contours विभिन्न pixel intensity regions के बीच की सीमाओं के रूप में पहचाने जाते हैं। RETR_EXTERNAL mode बाहरी सीमाओं पर ध्यान केंद्रित करता है, आंतरिक छिद्रों को अनदेखा करता है, जो अलग-अलग objects का पता लगाने के लिए उपयोगी है। CHAIN_APPROX_SIMPLE method सीधी रेखाओं के साथ अनावश्यक points हटाकर contours को सरल बनाता है, जिससे contour data अधिक compact हो जाता है जबकि आवश्यक shape information सुरक्षित रहती है।
सामान्य उपयोग के मामले
आकृति पहचान और विश्लेषण: contours का पता लगाकर छवियों में आकृतियों का पता लगाएँ और उनका विश्लेषण करें (जैसे, shape analysis के लिए object boundaries का पता लगाना, geometric shapes की पहचान करना, measurement के लिए shape outlines निकालना), जिससे shape-based image analysis workflows संभव हों
ऑब्जेक्ट सीमा निष्कर्षण: thresholded images से object boundaries और outlines निकालें (जैसे, आगे की processing के लिए object boundaries निकालना, object edges की पहचान करना, binary images में object outlines का पता लगाना), जिससे boundary extraction workflows संभव हों
छवि विभाजन विश्लेषण: contour boundaries का पता लगाकर segmentation results का विश्लेषण करें (जैसे, segmentation masks से contours ढूँढ़ना, segmented regions का विश्लेषण करना, segmented objects से boundaries निकालना), जिससे segmentation analysis workflows संभव हों
गुणवत्ता नियंत्रण और निरीक्षण: गुणवत्ता नियंत्रण और निरीक्षण कार्यों के लिए contour detection का उपयोग करें (जैसे, unexpected contours ढूँढ़कर defects का पता लगाना, object shapes की पुष्टि करना, object boundaries का निरीक्षण करना), जिससे contour-based quality control workflows संभव हों
वस्तु गणना: contours का पता लगाकर छवियों में objects की गिनती करें (जैसे, contours का पता लगाकर objects गिनना, boundaries के आधार पर objects की सूची बनाना, contour detection का उपयोग करके items की मात्रा निर्धारित करना), जिससे contour-based object counting workflows संभव हों
माप और विश्लेषण: माप और ज्यामितीय विश्लेषण के लिए contours का उपयोग करें (जैसे, contours का उपयोग करके object perimeters मापना, object shapes का विश्लेषण करना, contours से geometric properties की गणना करना), जिससे contour-based measurement workflows संभव हों
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक एक thresholded image प्राप्त करता है और contour data तथा visualizations उत्पन्न करता है:
छवि थ्रेशोल्डिंग ब्लॉकों के बाद : thresholded binary images में contours का पता लगाने के लिए (जैसे, thresholding के बाद contours ढूँढ़ना, binary images में shapes का पता लगाना, thresholded images से boundaries निकालना), जिससे thresholding-to-contour workflows संभव हों
छवि पूर्व-प्रसंस्करण ब्लॉकों के बाद : contour detection के लिए images तैयार करने वाले blocks के लिए (जैसे, preprocessing के बाद contours का पता लगाना, filtering के बाद shapes ढूँढ़ना, enhancement के बाद boundaries निकालना), जिससे preprocessed contour detection workflows संभव हों
segmentation blocks के बाद : segmentation results से contours निकालने के लिए (जैसे, segmentation masks से contours ढूँढ़ना, segmented regions की boundaries का पता लगाना, segments से shape outlines निकालना), जिससे segmentation-to-contour workflows संभव हों
विज़ुअलाइज़ेशन ब्लॉकों से पहले : contour visualizations प्रदर्शित करने के लिए (जैसे, detected contours को visualise करना, shape boundaries दिखाना, contour analysis results दिखाना), जिससे contour visualization workflows संभव हों
विश्लेषण ब्लॉकों से पहले : contour data को process करने वाले blocks के लिए (जैसे, contour shapes का विश्लेषण करना, contour coordinates को process करना, contour properties मापना), जिससे contour analysis workflows संभव हों
फ़िल्टरिंग या लॉजिक blocks से पहले : निर्णय लेने के लिए contour count या properties का उपयोग करने वाले blocks के लिए (जैसे, contour count के आधार पर filter करना, detected shapes के आधार पर निर्णय लेना, contour properties के आधार पर logic लागू करना), जिससे contour-based conditional workflows संभव हों
आवश्यकताएँ
इस block का उपयोग करने से पहले input image को thresholded (binary/grayscale में परिवर्तित) होना चाहिए। Thresholded images में स्पष्ट foreground (सफ़ेद) और background (काला) क्षेत्र होते हैं, जिससे contour detection अधिक विश्वसनीय हो जाती है। Contour detection से पहले images तैयार करने के लिए thresholding blocks (जैसे, Image Threshold) या segmentation blocks का उपयोग करें।
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/contours_detection@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
लाइन की मोटाई
int
आउटपुट छवि पर contours ड्रॉ करने के लिए उपयोग की जाने वाली रेखाओं की मोटाई। यह एक धनात्मक पूर्णांक होना चाहिए। मोटी रेखाएँ (जैसे, 5-10) contours को अधिक स्पष्ट बनाती हैं, लेकिन सूक्ष्म विवरणों को छिपा सकती हैं। पतली रेखाएँ (जैसे, 1-2) अधिक विवरण दिखाती हैं, लेकिन देखना कठिन हो सकता है। डिफ़ॉल्ट 3 है, जो अच्छी दृश्यता प्रदान करता है। छवि के आकार और वांछित दृश्यता के आधार पर समायोजित करें। बड़ी छवियों या जब contours को बहुत स्पष्ट दिखाना हो, तब मोटी रेखाओं का उपयोग करें; विस्तृत विश्लेषण या छोटी छवियों के लिए पतली रेखाओं का उपयोग करें..
✅
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार इमेज कॉन्टूर संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
छवि(छवि): contours का पता लगाने के लिए input image। सर्वोत्तम परिणामों के लिए इसे thresholded (binary या grayscale) होना चाहिए - thresholded images में स्पष्ट foreground और background क्षेत्र होते हैं, जो contour detection को अधिक विश्वसनीय बनाते हैं। यदि छवि color format में है, तो उसे automatically grayscale में बदल दिया जाएगा। Contours को विभिन्न pixel intensity regions के बीच की सीमाओं के रूप में पहचाना जाता है। Contour detection से पहले images तैयार करने के लिए thresholding blocks (जैसे, Image Threshold) या segmentation blocks का उपयोग करें। ब्लॉक external contours (बाहरी सीमाएँ) का पता लगाता है और उन्हें छवि पर ड्रॉ करता है..लाइन की मोटाई(पूर्णांक): आउटपुट छवि पर contours ड्रॉ करने के लिए उपयोग की जाने वाली रेखाओं की मोटाई। यह एक धनात्मक पूर्णांक होना चाहिए। मोटी रेखाएँ (जैसे, 5-10) contours को अधिक स्पष्ट बनाती हैं, लेकिन सूक्ष्म विवरणों को छिपा सकती हैं। पतली रेखाएँ (जैसे, 1-2) अधिक विवरण दिखाती हैं, लेकिन देखना कठिन हो सकता है। डिफ़ॉल्ट 3 है, जो अच्छी दृश्यता प्रदान करता है। छवि के आकार और वांछित दृश्यता के आधार पर समायोजित करें। बड़ी छवियों या जब contours को बहुत स्पष्ट दिखाना हो, तब मोटी रेखाओं का उपयोग करें; विस्तृत विश्लेषण या छोटी छवियों के लिए पतली रेखाओं का उपयोग करें..
आउटपुट
छवि(छवि): कार्यप्रवाहों में इमेज।contours(contours): हर array contour points का प्रतिनिधित्व करने वाले numpy arrays की सूची।hierarchy(numpy_array): Numpy ऐरे.contours की संख्या(पूर्णांक): पूर्णांक मान।
अंतिम अपडेट
क्या यह उपयोगी था?