मैं उनके समोच्च क्षेत्रों के आकार से समरूप कैसे क्रमबद्ध कर सकता हूं? और मैं सबसे बड़ा/छोटा कैसे प्राप्त कर सकता हूं?ओपनसीवी सी ++: उनके समोच्च द्वारा छंटनी समोच्च
9
A
उत्तर
28
आप एक कस्टम तुलना समारोह वस्तु के साथ std::sort
उपयोग कर सकते हैं
// comparison function object
bool compareContourAreas (std::vector<cv::Point> contour1, std::vector<cv::Point> contour2) {
double i = fabs(contourArea(cv::Mat(contour1)));
double j = fabs(contourArea(cv::Mat(contour2)));
return (i < j);
}
उपयोग:
[...]
// find contours
std::vector<std::vector<cv::Point> > contours;
std::vector<cv::Vec4i> hierarchy;
cv::findContours(binary_image, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
// sort contours
std::sort(contours.begin(), contours.end(), compareContourAreas);
// grab contours
std::vector<cv::Point> biggestContour = contours[contours.size()-1];
std::vector<cv::Point> smallestContour = contours[0];
2
बस एक समाधान लैम्ब्डा समारोह का उपयोग कर यदि सी ++ 11 उपलब्ध है दे।
sort(contours.begin(), contours.end(), [](const vector<Point>& c1, const vector<Point>& c2){
return contourArea(c1, false) < contourArea(c2, false);
});
तो फिर तुम contours[0]
उपयोग कर सकते हैं सबसे बड़ा क्षेत्र के साथ पाने के लिए क्योंकि आकृति आरोही क्रम में सॉर्ट कर रहे हैं सबसे छोटी क्षेत्र और contours[contours.size()-1]
साथ समोच्च मिलता है।
संबंधित मुद्दे
- 1. एंड्रॉइड ओपनसीवी समोच्च खोजें
- 2. ओपनसीवी || समोच्च समानता
- 3. समोच्च मानचित्र
- 4. ओपनसीवी में वक्र (समोच्च) को कैसे चिकनी बना सकता हूं?
- 5. Convert समोच्च (matplotlib या OpenCV) मूल
- 6. एक ग्रिड आधारित समोच्च प्रारूप
- 7. एंड्रॉइड में चमकदार पाठ समोच्च।
- 8. टर्नरी प्लॉट और भरे समोच्च
- 9. एक समोच्च बहुभुज द्वारा बटन कैसे सेट करें? एंड्रॉइड
- 10. matplotlib - समोच्च रेखाओं से डेटा निकालने
- 11. मिलान करने वाले कंटूर - समोच्च विस्थापन को ढूंढना
- 12. ओपनसीवी कॉन्टूर क्षण?
- 13. ऊंचाई रास्टर से वेक्टर समोच्च का अनुमान कैसे लगाया जाए?
- 14. ओपनसीवी
- 15. पृष्ठभूमि रंग द्वारा छवि विभाजन - ओपनसीवी एंड्रॉइड
- 16. ओपनसीवी
- 17. ओपनसीवी समरूप चौराहे का पता लगाता है
- 18. ओपनसीवी में आरओआई का उपयोग करना?
- 19. आकृति का पता लगाने - ओपनसीवी
- 20. मैं एक समोच्च साजिश द्वारा प्लॉट किए गए लाइन के (x, y) मान कैसे प्राप्त कर सकता हूं?
- 21. javacv में समोच्च की चौड़ाई और ऊंचाई निकालने के लिए कैसे?
- 22. ओपनसीवी
- 23. मर्ज कमिट बनाना उनके द्वारा
- 24. लोकप्रियता द्वारा गाने की एक सूची छंटनी
- 25. मनमाने ढंग से लैम्ब्डा द्वारा छंटनी
- 26. स्ट्रिंग द्वारा एक बहुआयामी सरणी छंटनी?
- 27. ओपनसीवी findcontours प्रत्येक सर्कल के लिए 2 contours देता है
- 28. मैं आर में एक समोच्च के भीतर क्षेत्र की गणना कैसे कर सकता हूं?
- 29. समोच्च मानचित्र ओवरले के साथ एक 3 डी सतह साजिश साजिश, आर
- 30. जावा में एक समोच्च साजिश बनाने के लिए एक अच्छी (मुफ्त) लाइब्रेरी क्या है?
तुलनात्मक रूप से यह कब कानूनी है जब ConcourAreas को 2 तर्कों के साथ परिभाषित किया गया है? – Zypps987