इमेज प्रोसेसिंग कोडिंग


12

मैं सोच रहा था कि इमेज प्रोसेसिंग के लिए सबसे अच्छी भाषा कौन सी है? मुझे पता है कि MATLAB के पास इसके लिए एक अच्छा पुस्तकालय और उपयोगकर्ता समुदाय है। मैं havent यह बाहर की जाँच की, अजगर के लिए वहाँ भी है।

इसके लिए सबसे कुशल भाषा क्या है?

जवाबों:


12

यह केवल प्रोग्रामिंग भाषा के बारे में नहीं है, बल्कि आपके द्वारा उपयोग की जा रही लाइब्रेरी है। मैं निम्नलिखित के बारे में सोच सकता हूं:

MATLAB - छवि प्रसंस्करण क्षमताएं काफी ठीक हैं, लेकिन अधिक उन्नत और वास्तविक समय प्रसंस्करण के लिए आपको कुछ निम्न-स्तरीय सामान की आवश्यकता होगी। इसके अतिरिक्त, यह बहुत अच्छा पोर्टेबिलिटी प्रदान नहीं करता है।

गणित - प्रोटोटाइप और त्वरित दृश्य के लिए अच्छा है, लेकिन यह सब मेरी विनम्र राय में है।

OpenCV - मुझे लगता है कि यह आईपी समुदाय में सबसे लोकप्रिय पुस्तकालय है। महान क्षमताओं ( GPU कंप्यूटिंग, मशीन लर्निंग मॉड्यूल, जीयूआई - आपको और क्या चाहिए? ), तेज, और अभी भी विकास के तहत (इसलिए मामूली कीड़े बहुत जल्दी से हटाए जा रहे हैं)। समुदाय के बारे में - यह बहुत बड़ा है! मुख्य रूप से C / C ++ प्रोग्रामिंग के लिए, लेकिन पायथन भी (शायद आपको सूट करता है)।

JAI - जावा उन्नत इमेजिंग - केवल अगर आपको जावा पसंद है। निजी तौर पर, मुझे यह पसंद नहीं है।

ImageMagick - आप इसे कई प्रोग्रामिंग भाषाओं केसाथ उपयोग कर सकतेहैं, एपीआई की जांचकर सकते हैं।

CxImage - यदि आप MS Paint से बेहतर कुछ बनाना चाहते हैं और फ़ोटोशॉप की कुछ कार्यक्षमता के साथ अच्छा है।

CImg - जाहिर है इसका उपयोग C ++ के साथ किया जाना है, लेकिन OpenCV अभी भी बेहतर है।

पीआईएल - बहुत सारी कार्यक्षमता के साथ विशिष्ट पुस्तकालय। अगर आप इसे पसंद करते हैं तो आप एक करीब से देख सकते हैं।

SimpleCV - मूल रूप से यह OpenCV पाइथन कुछ ट्वीक्स के साथ बाध्यकारी है। उपयोग करने में बहुत आसान और काफी कुशल।

scikit-image - पायथन लाइब्रेरी भी, लेकिन मेरी राय में SimpleCV से भी बदतर है (हालांकि मेरा दोस्त इससे सहमत नहीं होगा)। एक फायदा यह है कि अगर आप घने सुविधाओं की जरूरत है तो वे DAISY फीचर्स एक्सट्रैक्टर शामिल हैं।

GIL - बूस्ट का हिस्सा, लेकिन कम कार्यात्मक जो OpenCV है। यद्यपि यदि आप बूस्ट को पसंद करते हैं और उपयोग करते हैं तो कुछ बुनियादी कार्यक्षमता के लिए यह ठीक होना चाहिए।

रेसिल - डेविल प्रोजेक्टकी निरंतरता। एक प्रमुख लाभ कई फ़ाइल स्वरूपों पर काम कर रहा है, जिसमें कुछ गेम फाइलें भी शामिल हैं।

PINK - मूल रूप से C ++ में लिखा गया है। मैंने हाल ही में इसे आजमाया था और इसके साथ काम करना बहुत सुखद था। पायथन के साथ महान एकीकरण और एम्बेडेड सी में तेज। इसके अलावा उनके पास बहुत सारे अच्छे एल्गोरिदम हैं।

जाहिर है, बहुत अधिक इमेज प्रोसेसिंग लाइब्रेरी हैं, लेकिन ये वे हैं जिनके साथ मेरा संपर्क था। इसलिए यदि आप किसी चीज़ से शुरुआत करना चाहते हैं, तो OpenCV चुनें (अधिमानतः C ++ फ्रेमवर्क के साथ) - आपको अफसोस नहीं होगा! दूसरी ओर, यदि आपके प्रोग्रामिंग कौशल मजबूत नहीं हैं, तो आप पायथन-आधारित पुस्तकालयों का उपयोग करने के बारे में सोचना चाह सकते हैं - वास्तव में सीखना और सेट-अप करना आसान है।


2

MATLAB इमेज प्रोसेसिंग सीखने के लिए सबसे अच्छी भाषा है। (ये मेरा विचार है)

यह सीखने के लिए सरल है, हार्डवेयर स्वतंत्र, किसी भी संकलित भाषा की तुलना में अधिक लचीला, संभवतः स्क्रिप्ट भाषाओं की तुलना में अधिक कुशल (मशीन स्तर पर सिग्नल प्रोसेसिंग के लिए अनुकूलित इसकी अंतर्निहित dlls के कारण), इसमें अच्छा अकादमिक और इंजीनियरिंग समर्थन है।

C / C ++ इमेज प्रोसेसिंग के स्टैंडअलोन एप्लिकेशन बनाने के लिए सबसे अच्छी भाषा है। आईडीई के अपने सूट के तहत आप मूल कोड उत्पन्न कर सकते हैं जो सबसे कुशल है। और C ++ के लिए IDE बेहतर मशीन स्तर डिबगिंग सुविधाएँ प्रदान करते हैं।

कुछ स्क्रिप्ट भाषाओं का भी उपयोग किया जा रहा है। वे वास्तव में लचीले, पोर्टेबल, यहां तक ​​कि काफी कुशल हैं, हालांकि कम स्तर पर डिबगिंग आसान नहीं हो सकती है।

इसके अलावा CUDA, OpenCL आदि की नई GPU प्रसंस्करण क्षमता कम्प्यूटेशनल थ्रूपुट में नाटकीय वृद्धि करती है। (हालांकि, आपको सीखना अधिक कठिन है क्योंकि आपको किसी भी दक्षता लाभ का उपयोग करने के लिए अंतर्निहित GPU पाइपलाइन हार्डवेयर आर्किटेक्चर के बारे में पता होना चाहिए)


-1

यदि आप अपने स्वयं के एल्गोरिदम या कोड को रोल करना चाहते हैं, तो OpenCL को शामिल करें, क्योंकि कई छवि प्रसंस्करण गुठली "शर्मनाक समानांतर" हैं।

या, बिग आयरन पर, फोरट्रान अभी भी संख्यात्मक वेक्टर प्रदर्शन में अधिकांश अन्य भाषाओं को हराता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.