2011-11-08 16 views
5

मैं अभी ओपनसीवी प्रोग्रामिंग सीखना शुरू कर रहा हूं। क्या मैं सिर्फ ओपनसीवी में लाइनों और घटता की पहचान कैसे कर सकता हूं? मेरी समस्या यह है कि मुझे यह पहचानना है कि छवि में उत्तल या अवतल (क्षैतिज या लंबवत वक्र) वक्र, एक लंबवत, विकर्ण या क्षैतिज रेखा है या नहीं।ओपनसीवी पहचानने वाली रेखाएं और घटता

मेरे कोड में, मैंने छवि का एक विशेष भाग लेने के लिए CvSetImageROI का उपयोग किया, और फिर मैं पंक्तियों/घटता के अनुसार प्रत्येक को पहचानने की कोशिश कर रहा हूं।

क्या ओपनसीवी में उपलब्ध हैं जो उपलब्ध हैं? मदद के लिए बहुत - बहुत धन्यवाद। वैसे, मैं लिनक्स और सी ++ का उपयोग कर रहा हूं।

+0

क्या आपको छवि में वक्रों की पहचान करने के लिए कोई विधि मिलती है। –

उत्तर

5

हफ़ ट्रांसफॉर्म http://en.wikipedia.org/wiki/Hough_transform, http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm ऐसा करने का मानक तरीका है। अपने सरल रूप में (जैसा कि ओपनसीवी में कार्यान्वित किया गया है) यह आर्बिट्रे स्थिति और कोण और रेखा खंडों की रेखाओं का पता लगा सकता है।

एक उदाहरण http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=hough#houghlinesp

घटता के लिए के लिए यहाँ देखो, पता लगाने की प्रक्रिया में थोड़ा और अधिक जटिल OCV में अभी तक उपलब्ध नहीं है, और आप सामान्य Hough यह बदलने की जरूरत है, लेकिन आप एक व्यायाम के रूप में यह लिख सकते हैं या एक अच्छा कार्यान्वयन के लिए देखो। http://en.wikipedia.org/wiki/Generalised_Hough_transform इसका वर्णन करता है (संक्षेप में)

+3

आप कैनी() और FindContours() – Adrian

+0

पर भी देख सकते हैं मैं कोणों को कैसे देख सकता हूं? क्या मैं इसे पैरामीटर से प्राप्त कर सकता हूं? आपका बहुत बहुत धन्यवाद! – cmsl

+0

हफ़ ट्रांसफॉर्म कोण और अवरोध को बदलता है (यदि आप शास्त्रीय एक का उपयोग करते हैं) और सेगमेंट एंडपॉइंट्स (संभाव्यता के लिए)। आप एंडपॉइंट्स से सरल ज्यामितीय गणनाओं के साथ कोण निकाल सकते हैं या शास्त्रीय परिवर्तन का उपयोग कर सकते हैं। ओपनसीवी दस्तावेज और उपर्युक्त लिंक में उदाहरण देखें – Sam

संबंधित मुद्दे