टीएल; डीआर : मुझे एक छवि फ़ाइल से क्यूआर-कोड को डिकोड करने के लिए एक तरीका चाहिए (बेहतर शुद्ध) पायथन का उपयोग करके।
मुझे एक क्यूआर-कोड के साथ एक jpg फ़ाइल मिली है जिसे मैं पायथन का उपयोग करके डिकोड करना चाहता हूं। मुझे एक युगल पुस्तकालय मिला है जो ऐसा करने का दावा करता है:
PyQRCode ( यहां वेबसाइट ) जो माना जाता है कि छवियों से qr कोड को केवल इस तरह से एक पथ प्रदान करके डिकोड किया जा सकता है:
import sys, qrcode
d = qrcode.Decoder()
if d.decode('out.png'):
print 'result: ' + d.result
else:
print 'error: ' + d.error
तो मैं बस इसे का उपयोग कर स्थापित किया sudo pip install pyqrcode
। हालाँकि मुझे ऊपर दिए गए उदाहरण कोड के बारे में अजीब लगता है, यह है कि यह केवल आयात करता है qrcode
(और pyqrcode
हालांकि नहीं ) क्योंकि मुझे लगता है कि इस पुस्तकालयqrcode
को संदर्भित करता है जो केवल क्यूआर-कोड छवियां उत्पन्न कर सकता है जो मुझे इस तरह का भ्रमित करता है। इसलिए मैं दोनों के साथ ऊपर कोड की कोशिश की और है, लेकिन दोनों कह दूसरी पंक्ति में असफल । इसके अलावा, वेबसाइट उबंटू 8.10 को संदर्भित करता है (जो 6 साल से अधिक समय पहले सामने आया था) और मैं नवीनतम प्रतिबद्ध की जांच करने के लिए इसे एक सार्वजनिक (गिट या अन्य) भंडार नहीं पा सकता। इसलिए मैं अगले पुस्तकालय में चला गया:pyqrcode
qrcode
AttributeError: 'module' object has no attribute 'Decoder'
ZBar ( यहाँ वेबसाइट ) का दावा है कि "an open source software suite for reading bar codes from various sources, such as image files."
मैंने मैक ओएसएक्स पर इसे चलाने की कोशिश की sudo pip install zbar
। इसके साथ विफल रहता है error: command 'cc' failed with exit status 1
। मैंने इस SO प्रश्न के उत्तर में सुझाव देने की कोशिश की , लेकिन मैं इसे हल नहीं कर पाया। इसलिए मैंने फिर से आगे बढ़ने का फैसला किया:
QRTools , जो इस ब्लॉगपोस्ट के अनुसार निम्नलिखित कोड का उपयोग करके आसानी से छवियों को डीकोड कर सकते हैं:
from qrtools import QR
myCode = QR(filename=u"/home/psutton/Documents/Python/qrcodes/qrcode.png")
if myCode.decode():
print myCode.data
print myCode.data_type
print myCode.data_to_string()
इसलिए मैंने इसका उपयोग करके स्थापित करने का प्रयास किया sudo pip install qrtools
, जो कुछ भी नहीं पा सकता है। मैं भी साथ इसे करने की कोशिश python-qrtools
, qr-tools
, python-qrtools
और कुछ और संयोजन, लेकिन दुर्भाग्य से कोई लाभ नहीं हुआ। मुझे लगता है कि यह इस रेपो को संदर्भित करता है जो कहता है कि यह ZBar (ऊपर देखें) पर आधारित है। हालाँकि मैं अपना कोड हेरोकू पर चलाना चाहता हूं (और इस तरह एक शुद्ध पायथन समाधान पसंद करता हूं) मैंने इसे सफलतापूर्वक लिनक्स बॉक्स (इसके साथ sudo apt-get install python-qrtools
) पर स्थापित किया और इसे चलाने की कोशिश की:
from qrtools import QR
c = QR(filename='/home/kramer65/qrcode.jpg')
c.data # prints u'NULL'
c.data_type # prints u'text'
c.data_to_string() # prints '\xef\xbb\xbfNULL' where I expect an int (being `1234567890`)
हालांकि यह इसे डिकोड करने के लिए लगता है, यह इसे सही ढंग से करने के लिए प्रतीत नहीं होता है। इसके अलावा ZBar की जरूरत है और इस तरह यह शुद्ध अजगर नहीं है। इसलिए मैंने अभी तक एक और पुस्तकालय खोजने का फैसला किया।
PyXing ( यहाँ वेबसाइट ) माना जाता है कि लोकप्रिय जावा ZXing लाइब्रेरी का एक पायथन पोर्ट है , लेकिन प्रारंभिक और केवल कमिट 6 साल पुराना है और इस परियोजना का कोई रीडमी या प्रलेखन नहीं है।
बाकी के लिए मुझे कुछ qr- एन कोडर्स ( डी कोडर्स नहीं ) और कुछ एपीआई एंडपॉइंट्स मिले, जो आपके लिए डीकोड कर सकते हैं। चूंकि मुझे यह सेवा अन्य एपीआई एंडपॉइंट पर निर्भर होने के लिए पसंद नहीं है, इसलिए मैं डिकोडिंग को स्थानीय रखना चाहूंगा।
इसलिए निष्कर्ष निकालना; किसी को भी पता होगा कि मैं (पसंदीदा शुद्ध) पायथन में छवियों से क्यूआर-कोड कैसे डिकोड कर सकता हूं? सभी सुझावों का स्वागत है!