2010-10-17 14 views
13

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

मैं यह भी सोच रहा था कि तीन पैकेज कौन से सबसे कुशल थे ओपनसीवी मानते हैं लेकिन क्या किसी के पास कोई अनुभव है?

धन्यवाद

जेमी।

उत्तर

13

आपको जो प्रश्न पूछने की आवश्यकता है वह आपके लिए महत्वपूर्ण है - आपका समय या कंप्यूटर का समय। यदि आपका काम वास्तव में सरल है, तो आप इसे MATLAB में कोड कर सकते हैं और इसे बल्ले से ठीक से काम कर सकते हैं। MATLAB विकास के लिए सबसे आसान है - अंतर्निहित मेमोरी प्रबंधन के साथ एक स्क्रिप्ट वाली भाषा, प्रदान किए गए कार्यों की एक बड़ी श्रृंखला, और डिबगिंग के दौरान डेटा प्रदर्शित करने और छेड़छाड़ करने के लिए एक महान इंटरफ़ेस।

दूसरी तरफ, MATLAB कम से कम कई कार्यों के लिए संकलित ओपनसीवी कोड की तुलना में धीमी गति का क्रम है। यह विशेष रूप से सच है यदि आप इंटेल प्रदर्शन प्राइमेटिव लाइब्रेरी का उपयोग करते हैं।

यदि आप MATLAB में कोड कैसे जानते हैं, तो मैं उस भाषा में आपके एल्गोरिदम लिखने और डिबग करने का सुझाव दूंगा, फिर उन्हें गति के लिए ओपनसीवी के साथ सी/सी ++ में पोर्ट करना होगा। यदि केवल कुछ सरल कार्य हैं जिन्हें आपको तेज़ करने की आवश्यकता है, तो आप MATLAB से सी कोड को कॉल कर सकते हैं, लेकिन यह कोशिश करने में पहली बार सही काम करना मुश्किल है, इसलिए आप शायद अपने पुनः लिखने से बेहतर हो पूर्ण कोड सी/सी ++

+0

हे मार्क मैं पूरी तरह से ओपनसीवी और मैटलैब और छवि प्रसंस्करण दोनों के लिए बिल्कुल नया हूं। मुझे वेबकैम का उपयोग करके नेत्रगोल ट्रैकिंग पर कुछ करने की ज़रूरत है। आप क्या सलाह देते हैं? ओपनसीवी के लिए पर्याप्त दस्तावेज नहीं हैं? – Sohaib

2

सबसे पहले, कृपया अपनी परियोजना की ज़रूरतों के बारे में विस्तार से बताएं। अन्य कारकों के अलावा, इसका चयन पर इसका सबसे बड़ा असर पड़ता है - आपका सामान्य प्रोग्रामिंग ज्ञान (यदि आपने डॉट नेट से निपटाया नहीं है लेकिन सी ++ के साथ, एफ़ॉर्फ़ एक अच्छा विकल्प नहीं है, उदाहरण के लिए)।

आम तौर पर,

दोनों AForge और OpenCV एक अंतर्निहित में नेट, और OpenCV सी के साथ भी करने के लिए इंटरफ़ेस ++, अजगर, और अधिक। Matlab अधिक कुशल हो सकता है, लेकिन अगर आपके पास इसका कोई अनुभव नहीं है - आपको इसके वाक्यविन्यास भी सीखना चाहिए। इसे ध्यान में रखें।

मैटलैब में शायद सबसे बड़ी विविधताएं हैं, लेकिन यह अन्य परियोजनाओं की तुलना में अधिक जटिल है। ओपनसीवी और एंजर्ज में कुछ अंतर हैं - उन्हें इस स्टैक ओवरफ्लो question/ answers में वर्णित देखें।

+0

परियोजना एक नाव एक नहर नीचे यात्रा और अन्य नौकाओं और वस्तुओं का पता लगाने के मोर्चे पर एक कैमरा बढ़ते शामिल है। जाहिर है पहली समस्या दृष्टि से प्रसंस्करण पानी से निपट रही है। – Jamie

2

में मैंने पिछले साल दो समान परियोजनाओं में राजमार्ग पर कारों के साथ काम किया था। अफैक, मैटलैब एक समय में केवल एक चित्र फ्रेम को संसाधित करने की अनुमति देता है (निश्चित रूप से आप एक स्ट्रीम की गणना करने के लिए एल्गोरिदम विस्तृत कर सकते हैं) लेकिन सिमुलिंक का उपयोग करके आप सीधे स्ट्रीम को संसाधित कर सकते हैं।

दूसरी तरफ, मैंने एफ़ोर को बहुत दोस्ताना और उपयोग करने में आसान पाया क्योंकि आप Matlab/simulink में करने के लिए एक जीयूआई (इतनी तेज/आसान नहीं) से प्रसंस्करण मानकों को आसानी से समायोजित कर सकते हैं।

मैं Aforge.Net के लिए जाना होगा। यदि आप प्रसंस्करण गति के बारे में चिंता कर रहे हैं तो यह भी तेज़ है। (640x480 का उपयोग करके)

2

यदि आप इनमें से किसी एक का उपयोग करने के बारे में पूछ रहे हैं।नेट, आसानी से आप इस बारे में जानकारी प्राप्त कर सकते हैं:

1-मैटलैब ज्यादातर परियोजनाओं के सिमुलेशन में उपयोग किया जाता है जो एंड-प्रोटोटाइप प्रोजेक्ट नहीं है; मेरा अंक: 30;

2-aforge (जैसा कि मैंने कई प्रोजेक्ट में उपयोग किया है) यदि आपको छवि को कैप्चर करने या छवियों में कुछ की पहचान जैसे परिपत्र प्रक्रिया की आवश्यकता नहीं है ... आपको यह बहुत अच्छा लगेगा, क्योंकि यह उपयोग करने में आसान लेकिन एकल प्रक्रियाओं के लिए उपयोगी; मेरा नंबर: 50

3-opencv गति पर बहुत अच्छा और सर्कुलर प्रक्रियाओं के लिए उपयोगी है, उदाहरण के लिए आप वेबकैम से छवियों को कैप्चर कर सकते हैं और बिना किसी देरी के इसे तुरंत कार्टूनिज़ कर सकते हैं, लेकिन एजर्ज के रूप में उपयोग में आसान नहीं है। मुझे यह पसंद है कि वैसे भी इसकी गति और कई कार्यों के कारण यह हमें प्रोग्रामिंग में हमें जो कुछ भी चाहिए, उसे देता है; मेरा नंबर: 80

Dr.Taha - Tahasoft.net

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