2012-07-15 16 views
26

मैं जावासीवी सीखने की कोशिश कर रहा हूं। जैसा कि आप सभी जानते हैं, इस विषय पर शैक्षिक सामग्री की कमी एक बहुत बड़ी समस्या है। जेवीसीवी होम पेज में, उन्होंने "ओपनसीवी कुकबुक" पुस्तक में सी ++ उदाहरणों के लिए कई उदाहरण दिए हैं। लेकिन मामला यह है कि वे जावा नहीं हैं, वे स्केल में हैं !!!! अब मैं पागल हो गया हूँ! मुझे पता है कि बहुत से उदाहरण वेब में हैं, लेकिन मैं इसे शुरुआत से पहले से सीखना चाहता हूं, फिर केवल मैं इसे ठीक से कर सकता हूं। "ओपनसीवी कुकबुक" एक बहुत अच्छी किताब है लेकिन यह जावा के बारे में कुछ भी नहीं, सी ++ में ओपनसीवी के बारे में है।शुद्ध जावा में जावासीवी सीखना

कोई भी कृपया मुझे जावासीवी सीखने के लिए बेहतर जगह खोजने में मदद करें। मुझे जो भी, यूआरएल, बुक इत्यादि प्रदान करें, लेकिन यह 100% जावा में जावासीवी सीखने के बारे में होना चाहिए, स्कैला, सी ++, सी या अन्य भाषा में नहीं! कृपया सहायता कीजिए!

+12

यह वह मामला है जब मैंने पहली बार पाइथन में ओपनसीवी सीखना शुरू किया था। पायथन में कोई ट्यूटोरियल नहीं था, सभी सी ++ में थे। लेकिन मुझे इसे किसी भी तरह से सीखना पड़ा और सी ++ पुस्तक को पढ़ना शुरू कर दिया और इसे खुद को पाइथन में परिवर्तित कर दिया। और इसमें बहुत समय लगा। आखिरकार मैं अपने ट्यूटोरियल के साथ आया: opencvpython.blogspot.com, जो शुरुआती लोगों पर केंद्रित है। तो यही मुझे आपको बताना है। अपने आप को बहुत ही बुनियादी उदाहरणों से सीखें, और एक बार उस कोड के साथ तैयार हो जाएं, भविष्य के शिक्षार्थियों के लिए अपने स्वयं के ट्यूटोरियल लिखें। किसी भी तरह एक व्यक्ति को एक पहल करना पड़ता है। इसे आप होने दो !!! –

उत्तर

21

< अद्यतन>

टाइम्स परिवर्तन - और इतने OpenCV करता है। अभी, एक शुद्ध जावा आवरण (नहीं एंड्रॉयड) तेजी से बढ़ रहा है, किसी को भी डेस्कटॉप जावा ऐप्लिकेशन में सीधे OpenCV कार्यों का उपयोग करने की अनुमति/

</अद्यतन>

आप में जावा में कुछ ट्यूटोरियल पा सकते हैं ओपनसीवी नमूने निर्देशिका: samples/android

आप कुछ और जानकारी here भी पा सकते हैं।

अब, मुझे पूरा यकीन है कि आप कहेंगे कि आप जावा चाहते हैं, लेकिन एंड्रॉइड नहीं :)। लेकिन इसके लिए एक स्पष्टीकरण की आवश्यकता है।

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

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

निष्कर्ष: यदि आप छवि प्रसंस्करण सीखना चाहते हैं, तो सी ++ या पायथन सीखें। यदि आप कुछ ऐप बनाना चाहते हैं, तो डॉक्स/एंड्रॉइड ट्यूटोरियल से ओपनसीवी जावा इंटरफेस सीखें। लेकिन प्रदर्शन पर लचीलापन या नियंत्रण की उम्मीद नहीं है।

अपडेट किए गए नोट

वहाँ दो और बातें यहाँ निर्दिष्ट करने के लिए कर रहे हैं।

पहले, जैसे एंड्रॉइड अपने पहियों पर जाता है, और पायथन अधिक से अधिक लोकप्रिय साबित होता है, दो भाषाओं (और अन्य) में उपलब्ध सामग्री नाटकीय रूप से बढ़ रही है। लेकिन आने वाले वर्षों के लिए, मूल विकास समूह - और सर्वोत्तम दस्तावेज़ - सी ++ क्षेत्र में होंगे।

अंतिम, लेकिन कम से कम, आपको लगता है कि किसी भी काम या प्रोग्रामिंग के क्षेत्र में, यदि आप एक भाषा पर बने रहें तुम मर रहे हैं ध्यान में रखना चाहिए।सिद्धांत महत्वपूर्ण हैं, और आप उन्हें विभिन्न भाषाओं में लागू करने में सक्षम होना चाहिए, और आप विभिन्न स्रोतों से पढ़ने और समझने में सक्षम होना चाहिए। एक प्रोग्रामर के बारे में क्या कहता है कि वह जावा में छद्म कोड का अनुवाद करने में सक्षम नहीं है? यह अन्य भाषाओं के साथ काफी समान है।

आप महान ब्लॉग पोस्ट Don't call yourself a programmer पढ़ सकते हैं यह समझने के लिए कि आपको एक भाषा में प्रोग्रामिंग के बारे में क्यों भूलना चाहिए।

+0

उत्तर के लिए धन्यवाद, मैं वास्तव में इसकी सराहना करता हूं :) वैसे भी, स्केल सीखने के बिना स्कैला को जावा में बदलने का कोई तरीका है? मेरा मतलब है, ऑनलाइन उपकरण या कुछ? –

+0

@Yohan :) कृपया मेरी अद्यतन पोस्ट पढ़ें। मुझे उम्मीद है कि आपको विचार मिल जाएगा। आपको कुछ ऑनलाइन उपकरण मिल सकते हैं, या (शायद सबसे अधिक) नहीं, लेकिन आपको समझना चाहिए कि आप इसे कर सकते हैं। – Sam

+0

मैंने नहीं बताया कि मुझे केवल एक भाषा पता है। मुझे सी # नेट और वीबी.Net, जावाएफएक्स, कुछ सी ++ और निश्चित रूप से कुछ एंड्रॉइड पता है। लेकिन इसका मतलब यह नहीं है कि एक व्यक्ति को दुनिया में उपलब्ध सभी भाषाओं को सीखना है क्योंकि उन्हें एक एपीआई का उपयोग करना है। इसके बजाए, ऐसा करने का दूसरा तरीका ढूंढना, इस मामले में Xuggler API, सबसे अच्छी बात है। –