2008-09-15 18 views
24

सी/सी ++ में कंप्यूटर विजन के साथ काम करते समय मुझे कौन से पुस्तकालयों को चुनना है?सी/सी ++ में कंप्यूटर दृष्टि के लिए सबसे अच्छी लाइब्रेरी क्या है?

मुझे एहसास है कि Google के बहुत अच्छे नतीजे हैं, लेकिन हो सकता है कि वहां बहुत अच्छी लाइब्रेरीएं हों जो इससे चूक गईं।

उत्तर

36

हम OpenCV का उपयोग बड़े पैमाने पर करते हैं जहां मैं काम करता हूं।

यह उत्कृष्ट दृष्टि प्रसंस्करण उपकरण का एक पूर्ण सूट प्रदान करता है। मैं विकी के माध्यम से एक और विस्तृत स्पष्टीकरण और बेहतर लिखित स्पष्टीकरण के लिए पढ़ने की सलाह देता हूं जो मैं दूंगा।

6

ओपनसीवी काफी परिपक्व है और कंप्यूटर दृष्टि के अधिकांश क्षेत्रों को कवर करता है।

3

मुझे आपको एक तकनीकी उत्तर देने में कठिनाई होगी जो बेहतर है, मैं आपको बता सकता हूं कि हमारे पास काम के लिए विभिन्न कंप्यूटर दृष्टि समस्याओं पर काम कर रहे विभिन्न पीएचडी हैं और वे सभी ओपनसीवी का उपयोग करते हैं और अनुशंसा करते हैं।

1

openframeworks opencv का उपयोग करता है और इसके लिए एक आवरण,

उदाहरण के लिए

प्रदान करता है, इस कोड को कक्षाओं जो आपकी मदद कर एक आसान तरीका में opencv का उपयोग करें:

http://svn.openframeworks.cc/browser/listing.php?repname=addons&path=%2FofxOpenCv%2Ftrunk%2FofxOpenCv%2Fsrc%2F#_ofxOpenCv_trunk_ofxOpenCv_src_

वे विभिन्न पुस्तकालयों नहीं हैं।

1

यदि मैं ओपनसीवी की तुलना ओपनफ्रेमवर्क के साथ तुलना करना चाहता था - यह कैसे काम करेगा? कौन सा बेहतर है> क्या, और इसी तरह?

जैसा कि मैंने उपरोक्त कहा है, ओपनसीवी का उपयोग करता है, (एक रैपर प्रदान करता है)। वे अलग नहीं हैं। हम एक साधारण अंतर प्रदान करने की कोशिश करते हैं।

3

Intel Performance Primitives कंप्यूटर दृष्टि क्षेत्र में काफी लोकप्रिय हैं।

+0

उपलब्ध होने पर ओपनसीवी स्वचालित रूप से आईपीपी का उपयोग करेगा –

3

यह निहित किया गया हो सकता है लेकिन मूल प्रश्न यह निर्दिष्ट नहीं करता है कि पुस्तकालय एफओएसएस हैं। दो अग्रणी वाणिज्यिक पुस्तकालयों हैं:

दोनों समर्थन सी ++ और से मुक्त 30 दिन के परीक्षण प्रदान करते हैं।

1

कई लोगों ने ओपनसीवी की सिफारिश की है जो बहुत अच्छी है (मैंने पाइथन रैपर की कोशिश की है, जो त्वरित प्रोटोटाइप के लिए ठीक है)। आप gpuCV को भी देखना चाहेंगे जो कंप्यूटर दृष्टि के लिए जीपीयू में बड़े पैमाने पर समांतरता के फायदों का उपयोग करता है। इसका एपीआई एक ओपनसीवी के समान है (ज्यादातर संगत) और उपयोगकर्ता/डेवलपर से सभी जीपीयू प्रोग्रामिंग को छुपाता है।

11

OpenCV बहुत लोकप्रिय है, और इसमें कोई शक नहीं है कि यह अच्छा है, लेकिन अगर आप सी के बारे में ++ और एसटीएल की तरह कंटेनर की तरह गंभीर हैं, जो भी कर रहे हैं बहुत तेजी से तो इस पर विचार के लायक है:

libCVD

http://savannah.nongnu.org/projects/libcvd

परियोजना होम http://www.edwardrosten.com/cvd/index.html

Git: http://git.savannah.gnu.org/cgit/libcvd.git

कैम्ब्रिज वीडियो गतिशीलता - छवियों, वीडियो कैप्चर, डिस्प्ले, कंप्यूटर दृष्टि और अन्य के लिए लाइब्रेरी। एक रैखिक बीजगणित ढांचे के लिए TooN के साथ अच्छी तरह से एकीकृत करता है। भाषा: सी ++

यह सक्रिय रूप से विकसित है, और इसमें बहुत उपयोगी सुविधाएं और एल्गोरिदम हैं, और आम तौर पर वे लोग चीजें बहुत तेजी से काम करने के लिए करते हैं।

यह एलजीपीएल है।

यह जीत, Linux और MacOS एक्स पर यह संकलन करने के लिए संभव है

वहाँ भी इस एक के साथ अजगर के लिए बंदरगाह प्रदान करने के लिए, अजगर और SciPy बहुत तेजी के साथ कंप्यूटर विजन एल्गोरिदम प्रोटोटाइप करने के लिए अनुमति देने के लिए (एक इरादा है मुझे यकीन नहीं है कि यह किस चरण में है, लेकिन इसके बारे में एक पाइथन सम्मेलन में एक पेपर था।)

यदि आप रीयल-टाइम में कुछ भी करने की कोशिश कर रहे हैं तो आपको गंभीरता से libCVD पर विचार करना चाहिए।

उदाहरण के लिए, जॉर्ज क्लेन द्वारा पीटीएएम (समांतर ट्रैकिंग और मैपिंग) ढांचा इस पुस्तकालय का उपयोग करता है।

+4

साइट पर अंतिम प्रविष्टि 2005 से बीटा प्रतीत होती है? –

+0

http://git.savannah.gnu.org/cgit/libcvd.git दिखाता है कि –

0

ओपनसीवी शायद सबसे प्रसिद्ध और बेहद परिपक्व है। लेकिन वहाँ CUDA आधारित सिस्टम प्रदर्शन लाभ की वजह से करने के लिए हाल ही में एक बदलाव आया है, http://www.nvidia.com/object/cuda_home.html#

सी # तरह सुरक्षित भाषाओं के लिए

इसके अलावा, Aforge .NET फ़्रेमवर्क बहुत अच्छा है,

+0

ओपनसीवी संगत जीपीयू आधारित लाइब्रेरी https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/वेब/ –

0

आप OpenCV का उपयोग कर रहे हैं, तो यह भी देखना http://camellia.sourceforge.net/ (कई आईपीपी सुविधाओं को कार्यान्वित करना)।

1

हालांकि OpenCV शायद सबसे व्यापक रूप से इस्तेमाल दूसरों के एक जोड़े को देख लायक हो सकता है:

http://cimg.sourceforge.net/ एक बहुत एसटीएल की तरह, अत्यधिक टेम्प्लेटेड पुस्तकालय है। यह एक ही शीर्षलेख में निहित है और रिटर्न-बाय-रेफरेंस डिज़ाइन का अर्थ है कि आप एक ही कथन में एक साथ संचालन का एक गुच्छा श्रृंखला कर सकते हैं। यह आईएनआरआईए (फ्रेंच राष्ट्रीय शोध प्रयोगशाला) द्वारा समर्थित है

http://vxl.sourceforge.net/ ओपनसीवी के समान है लेकिन इसमें अधिक सी ++ डिज़ाइन है। नए ओपनसीवी 2.0 सी ++ संस्करण की तरह बहुत कुछ।

4

औद्योगिक मशीन दृष्टि के लिए संभव विकल्प हैं:

एम्बेडेड मशीन दृष्टि के लिए और भी विशेष पुस्तकालय हैं - उदा। Vision Components' VCLib और विशिष्ट कार्यों के लिए - उदा। डेटा मैट्रिक्स मान्यता के लिए libdmtx है।

+0

ध्यान दें कि अब मैंने बनाया हैल्कोन के लिए एक पायथन बाध्यकारी है। देखें: http://github.com/dov/hirsch –

2

मुझे Matrox इमेजिंग लाइब्रेरी के साथ बुरा अनुभव है। इसकी सलाह नहीं है क्योंकि:

  1. नहीं वस्तु उन्मुख है, और अधिक & निवारण/डिबग कोड बनाए रखने के लिए कठिन बनाते हैं।

  2. खराब दस्तावेज़ीकरण/सहायता पुस्तिका, स्पष्टीकरण अस्पष्ट/अपूर्ण & कोडिंग उदाहरण की कमी है। उदाहरण के लिए मिश्रण एक छोटे कोडिंग नमूने में दस अलग-अलग कार्यों का उपयोग।

  3. यदि .NET (C#) वातावरण में उपयोग किया जाता है, तो matrox प्रबंधित ऑब्जेक्ट्स बनाते हैं जिन्हें मेमोरी को का उपयोग करने के बाद मैन्युअल रूप से मुक्त करने की आवश्यकता होती है।

  4. मूल्यवान। डेवलपर लाइसेंस के अलावा, अपने सभी ग्राहकों को के लिए रनटाइम लाइसेंस खरीदने की आवश्यकता है।

  5. खराब लाइसेंस प्रारूप - यूएसबी डोंगल कुंजी का उपयोग करें। यदि आप डोंगल खो देते हैं, तो आप अपना लाइसेंस खो देते हैं।

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

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