मैं पाइथन में ओपनसीवी के कनेक्टेड कॉम्पोनेंट्स विथस्टैट्स() फ़ंक्शन का उपयोग करने का उदाहरण ढूंढ रहा हूं, ध्यान दें कि यह केवल ओपनसीवी 3 या नए के साथ उपलब्ध है। आधिकारिक दस्तावेज केवल सी ++ के लिए एपीआई दिखाता है, भले ही फ़िथन के लिए संकलित होने पर फ़ंक्शन मौजूद हो। मैं इसे कहीं भी ऑनलाइन नहीं ढूंढ सका।पायथन में आँकड़े के साथ ओपनसीवी के कनेक्टेड घटकों का उपयोग कैसे करें?
उत्तर
समारोह इस प्रकार काम करता है:
# Import the cv2 library
import cv2
# Read the image you want connected components of
src = cv2.imread('/directorypath/image.bmp')
# Threshold it so it becomes binary
ret, thresh = cv2.threshold(src,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
# You need to choose 4 or 8 for connectivity type
connectivity = 4
# Perform the operation
output = cv2.connectedComponentsWithStats(thresh, connectivity, cv2.CV_32S)
# Get the results
# The first cell is the number of labels
num_labels = output[0]
# The second cell is the label matrix
labels = output[1]
# The third cell is the stat matrix
stats = output[2]
# The fourth cell is the centroid matrix
centroids = output[3]
लेबल एक मैट्रिक्स इनपुट छवि जहां प्रत्येक तत्व अपने लेबल के बराबर एक मूल्य है का आकार है।
आंकड़े फ़ंक्शन की गणना करने वाले आंकड़ों का एक मैट्रिक्स है। इसकी लंबाई लंबाई की संख्या और आंकड़ों की संख्या के बराबर चौड़ाई है। यह इसके लिए OpenCV प्रलेखन के साथ इस्तेमाल किया जा सकता: हर लेबल के लिए
सांख्यिकी उत्पादन, पृष्ठभूमि लेबल सहित, नीचे देखें उपलब्ध आँकड़ों के लिए। आंकड़े आंकड़े [लेबल, COLUMN] के माध्यम से उपलब्ध हैं जहां उपलब्ध कॉलम नीचे परिभाषित किए गए हैं।
- cv2.CC_STAT_LEFT वाम-पंथी (एक्स) समन्वय जो क्षैतिज दिशा में बाउंडिंग बॉक्स के समावेशी शुरुआत है।
- cv2.CC_STAT_TOP शीर्षतम (वाई) समन्वय जो लंबवत दिशा में बाध्यकारी बॉक्स की समावेशी शुरुआत है।
- cv2.CC_STAT_WIDTH जुड़ा घटक
की बाउंडिंग बॉक्स के क्षैतिज आकार- cv2.CC_STAT_HEIGHT बाउंडिंग बॉक्स के लंबवत आकार
- cv2.CC_STAT_AREA कुल क्षेत्र (पिक्सेल में)
centroids प्रत्येक केन्द्रक के x और y स्थानों के साथ एक मैट्रिक्स है। इस मैट्रिक्स में पंक्ति लेबल संख्या से मेल खाती है।
आप ग्रेस्केल छवि आप कर सकते हैं का उपयोग कर रहे हैं, तो Zack Knopp
जवाब है, को जोड़ना बस का उपयोग करें:
import cv2
import numpy as np
src = cv2.imread("path\\to\\image.png", 0)
binary_map = (src > 0).astype(np.uint8)
output = cv2.connectedComponentsWithStats(binary_map, connectivity, cv2.CV_32S)
जब मैं एक ग्रेस्केल छवि यह काम नहीं किया और यह मेरा समाधान था पर Zack Knopp
जवाब उपयोग करने की कोशिश।
- 1. पायथन के साथ ओपनसीवी स्टिचर क्लास का उपयोग कैसे करें?
- 2. पायथन आँकड़े OLS:
- 3. पायथन 3 + आँकड़े मॉडल?
- 4. पायथन में शब्दकोश के साथ str.format() का उपयोग कैसे करें?
- 5. ओपनसीवी में BRISK का उपयोग कैसे करें?
- 6. पायदान में एनोवा पेंडस डेटाफ्रेम का उपयोग आँकड़े के साथ या scipy के साथ?
- 7. decoupled symfony घटकों का उपयोग कैसे करें?
- 8. ओपनसीवी के साथ एक अशांत कैम का अनुकरण कैसे करें?
- 9. पायथन के साथ win32 एपीआई का उपयोग कैसे करें?
- 10. पायथन के साथ win32gui मॉड्यूल का उपयोग कैसे करें?
- 11. ओपनसीवी फ्लैन :: इंडेक्स का उपयोग कैसे करें?
- 12. ओपनसीवी/पायथन
- 13. जेएसएफ घटकों के गैर-मूल्य विशेषताओं के साथ पैरामीटरेटेड संदेशफॉर्मैट का उपयोग कैसे करें
- 14. ओपनसीवी (पायथन)
- 15. ओपनसीवी के साथ एंड्रॉइड में कैमरा रिज़ॉल्यूशन कैसे सेट करें?
- 16. उन्नत वर्ग पहचान (कनेक्टेड क्षेत्र के साथ)
- 17. एकल फ़ाइल घटकों के अंदर VueJS 2 वैश्विक घटकों का उपयोग कैसे करें?
- 18. ओपनसीवी में 16 बिट ग्रेस्केल के साथ कैसे काम करें?
- 19. ओपनसीवी + पायथन
- 20. घटकों के अंदर घटकों के अंदर घटकों के टेम्पलेट में फ़ील्ड एक्सेस करें
- 21. पायथन (एकाधिक पायथन संस्करण) के लिए ओपनसीवी स्थापित करें
- 22. ओपनसीवी पायथन
- 23. ओसीआर के साथ दस्तावेज़ पहचान के लिए ओपनसीवी का उपयोग कैसे करें?
- 24. ओपनसीवी/पायथन
- 25. पायथन ओपनसीवी के साथ हौफलाइन के साथ एक छवि में ऊर्ध्वाधर और क्षैतिज रेखाओं का पता लगाने के लिए कैसे?
- 26. ओपनसीवी 2.4 के साथ एक आरजीबी छवि में एक पायथन numpy सरणी कैसे परिवर्तित करें?
- 27. ओपनसीवी पायथन
- 28. वास्तविक ढांचे के बिना ज़ेंड फ्रेमवर्क घटकों का उपयोग करें?
- 29. GridBagLayout के साथ घटकों को कैसे स्थानांतरित करें?
- 30. कैसे आँकड़े numpy
मुझे यह कहना होगा कि किसी कारण से, मुझे cv2.THRESH_BINARY + cv2.THRESH_OTSU के बजाय cv2.THRESH_BINARY का उपयोग करना पड़ा, फिर मुझे इसे काम करने के लिए फ़्लोट करने के लिए पूर्णांक और ताजा करने के लिए src डालना पड़ा। मुझे नहीं पता क्यों, लेकिन यह अन्यथा काम नहीं करता था। –
मुझे समझ में नहीं आता है कि जब आप आउटपुट का हिस्सा तब भी लेते हैं तो आप लेबल्स मैट्रिक्स क्यों बनाते हैं? – ypnos
@ypnos आपको आंकड़ों के साथ जुड़े घटकों की आवश्यकता नहीं है, लेकिन बिना आंकड़ों के जुड़े घटकों के लिए करें। मुझे लगता है कि हिस्सा मुझे दूसरी तरफ से छोड़ दिया गया था। मैंने इसे अभी तय किया है। चीयर्स! –