2011-10-24 8 views
13

तो हमारे पास विश्वविद्यालय में यह छवि प्रसंस्करण पाठ्यक्रम है और हम ओपनसीवी का व्यापक रूप से उपयोग करेंगे। समस्या यह है कि ओपनसीवी सी ++ का उपयोग करता है लेकिन मैं सी ++ की तुलना में सी # में अधिक धाराप्रवाह हूं। मुझे पता है कि ओपनसीवी (OpenCVDotNet, SharperCV, EmguCV, ...) के लिए रैपर हैं ... लेकिन मुझे नहीं पता कि कौन से चयन करना है।क्या नेट ओपनसीवी रैपर का उपयोग करने लायक हैं?

मेरे प्रश्न हैं:

  • कौन सा सबसे लपेटता/OpenCV कार्यक्षमता के सभी?
  • क्या वे भी उपयोग करने लायक हैं? (अक्सर अद्यतन नहीं किया जा सकता है, कार्यक्षमता या गति की कमी, ...)
  • या मुझे अपने सी ++ कौशल को ब्रश करने से बेहतर होना चाहिए?

नोट: मुझे पता है कि मेरे सवाल this one के संभावित डुप्लिकेट है, लेकिन यह (2008 से) वर्ष है और चीजें बदल गई हो सकती है।

+2

रैपर के संबंधित जानकारी पृष्ठों/रेपो को देखकर आपके पहले दो प्रश्नों का उत्तर दिया जा सकता है। आप प्रत्येक के आस-पास कवरेज, साथ ही गतिविधि को देख पाएंगे। –

+1

@NeilN मैंने पहले कभी ओपनसीवी का उपयोग नहीं किया है, इसलिए मुझे नहीं पता कि इन रैपरों को ओपनसीवी का कितना कवरेज है। यही कारण है कि मैं उन लोगों से सुनना चाहता हूं जिन्होंने इनमें से किसी भी पुस्तकालय के साथ काम किया है – Nasreddine

+0

मेरा मतलब यह है कि प्रत्येक lib के पृष्ठ में दस्तावेज होना चाहिए/जो कवर नहीं है। –

उत्तर

11

मैंने इमगुसीवी का उपयोग नहीं किया है, लेकिन मैंने थोड़ी देर के लिए ओपनसीवी का उपयोग किया है।

शार्परसीवी की वेबसाइट से:
यदि आप OpenCV का उपयोग करना चाहते हैं तो इमू सीवी.Net wrapper हमारी वर्तमान अनुशंसा है।

और, ओपनसीवीडॉटनेट अकादमिक सैंडबॉक्स की तरह दिखता है, इसलिए यदि यह मैं था, तो मैं अपनी किसी भी शोध परियोजनाओं के लिए EmguCV का उपयोग करूंगा जिसमें सी # शामिल है। मुख्य रूप से क्योंकि इसे सक्रिय रूप से बनाए रखा जा रहा है, और इसमें आज उपलब्ध रैपर की सबसे अधिक सुविधाएं हैं।

16

मैंने इमगुसीवी की कोशिश की थी। यह समर्थन की कार्यक्षमताओं की सीमा ठीक है। लेकिन अगर आपकी परियोजना ऐसी चीज है जिसमें गति एक मुद्दा है, तो अपने सी ++ कौशल को ब्रश करना बेहतर होगा।

मुझे अन्य रैपरों के बारे में बहुत कुछ पता नहीं है। मैं एक बार आपकी स्थिति में था। मैंने अपने शिक्षाविदों के दौरान emgucv में काम किया और मुझे अपने पेशे में सी ++ में स्थानांतरित करना पड़ा।

मेरा विश्वास करो, आपको सी ++ पर जाने में बहुत मुश्किल नहीं लगेगी।

3

अद्यतन के रूप में, मैं पहले दिए गए उत्तरों की पुष्टि कर सकता हूं।

मैंने अनुसंधान और काम दोनों के लिए सी ++ और ईएमजीई रैपर के साथ ओपनसीवी दोनों का उपयोग किया है और मैं ज्यादातर लोगों के साथ आंशिक रूप से सहमत हूं।

ईएमजीई सीवी सीखना आसान हो सकता है और आपका कोड समझना बहुत आसान होगा, इसके लिए कोड की कम लाइनों की आवश्यकता होगी और आपके द्वारा कॉल किए जा सकने वाले कार्यों की एक सभ्य श्रृंखला होगी। लेकिन यह पूरा नहीं हुआ है।

कई फ़ंक्शन सभी मूल रूप से इच्छित कार्यक्षमता प्रदान नहीं करेंगे जो आपको OpenCV 3.0 उदा। FindNonZero() रैपिंग और SetValue() के फ़ंक्शन के ठीक उसी तरह काम नहीं करता है जो मुझे रनटाइम त्रुटियों को डीबग करने में मुश्किल होती है।

दूसरी तरफ, ओपनसीवी किसी भी अन्य रैपर की तुलना में बहुत अच्छा समर्थन प्रदान करता है जो आपको ऑनलाइन मिल सकता है और आप सबसे अद्यतित पुस्तकालयों के साथ काम करेंगे। ओपनसीवी 3.1 एक महान रिलीज है और मुझे एक्सकोड या विजुअल स्टूडियो पर चलने में कोई समस्या नहीं मिली है।

इसलिए, मैं किसी को भी ओपनसीवी सी ++ के लिए सीधे जाने के लिए कंप्यूटर विजन और छवि प्रसंस्करण में विसर्जित करने की सलाह दूंगा। यदि आप केवल जटिल जटिल समस्याओं पर काम करना चाहते हैं तो आप ईएमजीई चुन सकते हैं (मैं दूसरों की सिफारिश नहीं कर सकता क्योंकि मैं परिचित नहीं हूं)।

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