2012-04-09 11 views
5

मैं डेटा मैट्रिक्स कोड पढ़ने के लिए सी ++ लाइब्रेरी की तलाश में हूं, विशेष रूप से ईसीसी 200 कोड (इसलिए क्यूआर कोड नहीं)। मुझे libdmtx और zxing मिला है। zxing जावा है, लेकिन एक सी ++ बंदरगाह प्रतीत होता है। क्या किसी को इन पुस्तकालयों के साथ ईसीसी 200 कोड पढ़ने, या संभवतः अन्य पुस्तकालयों के साथ पढ़ने का अनुभव है?सी ++ लाइब्रेरी

उत्तर

1

जेएक्सिंग के सी ++ पोर्ट में डीएम समर्थन जावा के साथ अद्यतित है (1 डी कोडों में से कई के बारे में सच नहीं है)। यह परीक्षण ऐप्स में डिफ़ॉल्ट रूप से सक्षम नहीं है लेकिन सक्षम करना आसान है (और will be enabled by default in the future.)

मेरे पास वास्तव में डीएम डिकोडर का उपयोग करने के साथ कोई व्यक्तिगत अनुभव नहीं है लेकिन यह परीक्षण सूट में शामिल है और मुझे विश्वास है कि इसमें उपलब्ध है एंड्रॉइड ऐप

0

मैं वर्तमान में http://www.libdmtx.org/

यह इंटरफेस के सभी प्रकार के लिए समर्थन हासिल है libdmtx उपयोग करने के लिए कोशिश कर रहा हूँ। ऐसा लगता है कि यहां और अन्य स्थानों पर अच्छी समीक्षा है ...।

(लेकिन मैं :-)

0

उपयोगिताओं के निर्माण के बाद से कोई 'असली' जवाब मेरे सवाल का, अनुभव के साथ किसी से इन पुस्तकालयों में से एक के साथ 2 डी को पढ़ने के लिए तैनात किया गया था कम से कम कोई जवाब नहीं पर मदद के लिए देख रहा हूँ मैट्रिक्स कोड, मैंने सोचा कि मैं अपना खुद का अनुभव पोस्ट करूंगा।

मैंने दोनों पुस्तकालयों की कोशिश की और दोनों कोड पढ़ सकते थे, लेकिन प्रदर्शन मेरी स्थितियों के लिए पर्याप्त नहीं था। मेरी स्थिति में कोड अक्सर "सही" नहीं होते हैं, डॉट्स गायब हो सकते हैं, अलग-अलग आकार हो सकते हैं, और कोड थोड़ा सा हो सकता है। दोनों पुस्तकालयों को इन कोडों को पढ़ने में समस्याएं थीं।

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

1

यहां एक असली जवाब है। मैंने libdmtx और libzxing दोनों का सफलतापूर्वक उपयोग किया है। Libdmtx अधिक सरल था, क्योंकि यह डेटामैट्रीस तक ही सीमित है। मेरे अनुभव में परिणाम, आश्चर्यजनक रूप से पर्याप्त थे, हमेशा निर्धारिती नहीं। लिब्ज़क्सिंग भी ठीक है, लेकिन जब आप वास्तविक उत्पादन (लाखों या रीडआउट्स) करते हैं तो यह कभी-कभी इस तथ्य के कारण दुर्घटनाग्रस्त हो जाएगा कि स्मृति प्रबंधन सही नहीं है। यह वास्तव में अच्छा है, लेकिन वास्तविक उत्पादन वातावरण के लिए बिल्कुल सही नहीं है।

दोनों पुस्तकालयों, libzxing और libdmtx आपको छवि के डेटामैट्रिक्स मृतक और काफी बड़े होने की आवश्यकता है। इसका मतलब है कि आपको खुद को पूर्व-स्थानीयकरण करने की आवश्यकता है। मैं केवल छवि दिनचर्या का उपयोग करके और 'एल' आकार की तलाश करके और फिर न्यूनतम क्षेत्र स्क्वायर बाउंडिंग बॉक्स इत्यादि के साथ कुछ चतुरता का उपयोग करके ऐसा करने में कामयाब रहा। फिर डीकोडिंग और त्रुटि कोर्रेसिटन चरण स्वयं libzxing से उपयोग किया जाता है, जो अभी भी सही नहीं है

यदि आप उत्पादन वातावरण के लिए जाते हैं, तो अपने आप को अपनी खुद की बाधाओं के भीतर सब कुछ करें, और यदि आप ऐसा करने में सहज नहीं हैं, तो भुगतान किए गए पैकेज का उपयोग करें, जो बदले में आपके आवेदन और लागत के पैसे के लिए बिल्कुल उपयुक्त नहीं है।

libzxing-cpp का सबसे अच्छा बंदरगाह उपयोगकर्ता ग्लासेंचिडना ​​का है। https://github.com/glassechidna/zxing-cpp

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