- தேவைகள்
- ராஸ்பெர்ரி பைவில் ஓபன்சிவியை நிறுவுதல்
- தேவையான பிற தொகுப்புகளை நிறுவுதல்
- ராஸ்பெர்ரி பை கியூஆர் குறியீடு ரீடர் வன்பொருள் அமைப்பு
- ராஸ்பெர்ரி பை கியூஆர் கோட் ரீடருக்கான பைதான் குறியீடு
- ராஸ்பெர்ரி பை கியூஆர் கோட் ஸ்கேனரை சோதிக்கிறது
QR குறியீடு (விரைவு மறுமொழி குறியீடு) என்பது ஒரு வகை மேட்ரிக்ஸ் பார்கோடு ஆகும், இது இணைக்கப்பட்ட உருப்படி பற்றிய தகவல்களைக் கொண்டுள்ளது, இருப்பிடத் தரவு, அடையாளங்காட்டி அல்லது ஒரு வலைத்தளம் அல்லது பயன்பாட்டை அடையாளம் காணும் டிராக்கர் போன்றவை. இது இயந்திரம் படிக்கக்கூடிய ஆப்டிகல் 2D படத்தின் வடிவத்தில் இருக்கும் லேபிள் மற்றும் வேறு வடிவத்தைக் கொண்டுள்ளது. QR குறியீடுகளைப் பற்றியும் QR குறியீட்டை எவ்வாறு உருவாக்குவது என்பதையும் பற்றி மேலும் அறிய, எங்கள் முந்தைய டுடோரியலைப் பின்பற்றவும்.
இந்த டுடோரியலில், ஓபன்சிவி மற்றும் இச்பார் நூலகத்தைப் பயன்படுத்தி ராஸ்பெர்ரி பை அடிப்படையிலான கியூஆர் கோட் ஸ்கேனரை உருவாக்க உள்ளோம். பல்வேறு வகையான பார்கோடுகள் மற்றும் கியூஆர் குறியீடுகளைக் கண்டறிந்து டிகோட் செய்வதற்கான சிறந்த நூலகம் ZBar ஆகும். வீடியோ ஸ்ட்ரீமில் இருந்து புதிய சட்டகத்தைப் பிடிக்கவும், அதைச் செயலாக்கவும் ஓபன்சிவி பயன்படுத்தப்படுகிறது. ஓபன்சிவி ஒரு சட்டகத்தைப் பிடித்தவுடன், அதை ஒரு ZBar போன்ற ஒரு பிரத்யேக பைதான் பார்கோடு டிகோடிங் நூலகத்திற்கு அனுப்பலாம், இது பார் குறியீட்டை டிகோட் செய்து அந்தந்த தகவல்களாக மாற்றுகிறது.
தேவைகள்
- ராஸ்பெர்ரி பை 3 (எந்த பதிப்பும்)
- பை கேமரா தொகுதி
இந்த ராஸ்பெர்ரி பை 3 கியூஆர் குறியீடு ஸ்கேனருடன் தொடர்வதற்கு முன், முதலில், இந்த திட்டத்தில் ஓபன்சிவி, பார்கோடு டிகோடிங் நூலகம் ZBar, imutils மற்றும் வேறு சில சார்புகளை நிறுவ வேண்டும். ஓபன்சிவி டிஜிட்டல் பட செயலாக்கத்திற்கு இங்கே பயன்படுத்தப்படுகிறது. டிஜிட்டல் பட செயலாக்கத்தின் மிகவும் பொதுவான பயன்பாடுகள் பொருள் கண்டறிதல், முகம் அங்கீகாரம் மற்றும் மக்கள் எதிர்.
ராஸ்பெர்ரி பைவில் ஓபன்சிவியை நிறுவுதல்
இங்கே ஓபன்சிவி நூலகம் ராஸ்பெர்ரி பை கியூஆர் ஸ்கேனருக்கு பயன்படுத்தப்படும். OpenCV ஐ நிறுவ, முதலில், ராஸ்பெர்ரி பை புதுப்பிக்கவும்.
sudo apt-get update
உங்கள் ராஸ்பெர்ரி பையில் OpenCV ஐ நிறுவ தேவையான சார்புகளை நிறுவவும்.
sudo apt-get install libhdf5-dev -y sudo apt-get install libhdf5-serial-dev –y sudo apt-get install libatlas-base-dev –y sudo apt-get install libjasper-dev -y sudo apt-get install libqtgui4 -y sudo apt-get நிறுவ libqt4 சோதனை -y
அதன் பிறகு, கீழேயுள்ள கட்டளையைப் பயன்படுத்தி ராஸ்பெர்ரி பைவில் ஓபன்சிவியை நிறுவவும்.
pip3 install opencv-பங்களிப்பு-பைதான் == 4.1.0.25
நாங்கள் முன்பு ராஸ்பெர்ரி பை உடன் ஓபன்சிவியைப் பயன்படுத்தினோம், அதில் நிறைய பயிற்சிகளை உருவாக்கினோம்.
- CMake ஐப் பயன்படுத்தி ராஸ்பெர்ரி பையில் OpenCV ஐ நிறுவுகிறது
- ராஸ்பெர்ரி பை மற்றும் ஓபன்சிவியுடன் நிகழ்நேர முக அங்கீகாரம்
- ராஸ்பெர்ரி பை மற்றும் ஓபன்சிவி பயன்படுத்தி உரிம தட்டு அங்கீகாரம்
- ஓபன்சிவி மற்றும் ராஸ்பெர்ரி பை ஆகியவற்றைப் பயன்படுத்தி கூட்ட அளவு மதிப்பீடு
தொடக்க நிலை முதல் தொடர் ஓபன்சிவி டுடோரியல்களையும் உருவாக்கியுள்ளோம்.
தேவையான பிற தொகுப்புகளை நிறுவுதல்
ZBar ஐ நிறுவுகிறது
பல்வேறு வகையான பார்கோடுகள் மற்றும் கியூஆர் குறியீடுகளைக் கண்டறிந்து டிகோட் செய்வதற்கான சிறந்த நூலகம் Zbar ஆகும். நூலகத்தை நிறுவ பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
pip3 நிறுவு பைஸ்பார்
Imutils ஐ நிறுவுகிறது
மொழிபெயர்ப்பு, சுழற்சி, மறுஅளவிடுதல், எலும்புக்கூடுப்படுத்தல் மற்றும் ஓபன்சிவி மூலம் மேட்லோட்லிப் படங்களை எளிதாகக் காண்பித்தல் போன்ற அத்தியாவசிய பட செயலாக்க செயல்பாடுகளை உருவாக்க imutils பயன்படுத்தப்படுகிறது. Imutils ஐ நிறுவ பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
pip3 install imutils
ஆர்க்பார்ஸை நிறுவுகிறது
ஆர்க்பார்ஸ் நூலகத்தை நிறுவ பின்வரும் கட்டளையைப் பயன்படுத்தவும். கட்டளை-வரி வாதங்களை பாகுபடுத்துவதற்கு argparse பொறுப்பு.
pip3 install argparse
ராஸ்பெர்ரி பை கியூஆர் குறியீடு ரீடர் வன்பொருள் அமைப்பு
ராஸ்பெர்ரி பை கேமராவைப் பயன்படுத்தி இந்த க்யூஆர் குறியீடு ஸ்கேனருக்கு இங்கே ராஸ்பெர்ரி பை மற்றும் பை கேமரா மட்டுமே தேவைப்படுகிறது, மேலும் நீங்கள் ராஸ்பெர்ரி பைவில் கொடுக்கப்பட்டுள்ள கேமரா ஸ்லாட்டில் கேமரா ரிப்பன் இணைப்பியை இணைக்க வேண்டும்.

ராஸ்பெர்ரி பை கண்காணிப்பு கேமரா, பார்வையாளர் கண்காணிப்பு அமைப்பு, வீட்டு பாதுகாப்பு அமைப்பு போன்ற பல்வேறு சுவாரஸ்யமான திட்டங்களை உருவாக்க பை கேமரா பயன்படுத்தப்படலாம்.
ராஸ்பெர்ரி பை கியூஆர் கோட் ரீடருக்கான பைதான் குறியீடு
ராஸ்பெர்ரி பை கியூஆர் ரீடருக்கான முழுமையான குறியீடு பக்கத்தின் இறுதியில் கொடுக்கப்பட்டுள்ளது. ராஸ்பெர்ரி பை நிரல் செய்வதற்கு முன், குறியீட்டைப் புரிந்துகொள்வோம்.
எனவே, வழக்கம் போல், தேவையான அனைத்து தொகுப்புகளையும் இறக்குமதி செய்வதன் மூலம் குறியீட்டைத் தொடங்கவும்.
imutils.video import இலிருந்து வீடியோ ஸ்ட்ரீம் பைஸ்பார் இறக்குமதியிலிருந்து பைஸ்பார் இறக்குமதி ஆர்க்பார்ஸ் இறக்குமதி தேதிநேர இறக்குமதி imutils இறக்குமதி நேர இறக்குமதி cv2
பின்னர் வாத பாகுபடுத்தியை உருவாக்கி வாதங்களை அலசவும். கட்டளை வரி வாதத்தில் CSV கோப்பின் பாதை பற்றிய தகவல்கள் உள்ளன. CSV (கமா பிரிக்கப்பட்ட மதிப்புகள்) கோப்பில் எங்கள் வீடியோ ஸ்ட்ரீமில் இருந்து ஒவ்வொரு பார்கோடின் நேர முத்திரை மற்றும் பேலோட் உள்ளது.
ap = argparse.ArgumentParser () ap.add_argument ("- o", "--output", type = str, default = "barcodes.csv", help = "பார்கோடுகளைக் கொண்ட CSV கோப்பை வெளியிடுவதற்கான பாதை") args = vars (ap.parse_args ())
அதன்பிறகு, நீங்கள் யூ.எஸ்.பி வெப்கேமைப் பயன்படுத்துகிறீர்கள் என்றால் வீடியோ ஸ்ட்ரீமைத் துவக்கி, கருத்துரைக்கப்பட்ட வரியைக் கட்டுப்படுத்தவும்.
#vs = VideoStream (src = 0).ஸ்டார்ட் () vs = வீடியோ ஸ்ட்ரீம் (usePiCamera = உண்மை).ஸ்டார்ட் () time.sleep (2.0)
இப்போது வளையத்திற்குள், வீடியோ ஸ்ட்ரீமில் இருந்து ஒரு சட்டகத்தைப் பிடித்து அதை 400 பிக்சல்களாக மாற்றவும். இது சட்டகத்தைப் பிடித்தவுடன் , QR குறியீட்டைக் கண்டறிந்து டிகோட் செய்ய pyzbar.decode செயல்பாட்டை அழைக்கவும்.
frame = vs.read () frame = imutils.resize (frame, width = 400) barcodes = pyzbar.decode (frame)
இப்போது, பார்கோடின் இருப்பிடத்தைப் பிரித்தெடுக்க கண்டறியப்பட்ட பார்கோடுகளுக்கு மேல் வட்டமிட்டு, படத்தில் பார்கோடு சுற்றி எல்லை பெட்டியை வரையவும்.
பார்கோடுகளில் பார்கோடுக்கு: (x, y, w, h) = barcode.rect cv2.rectangle (frame, (x, y), (x + w, y + h), (0, 0, 255), 2)

டிகோட் ("utf-8") செயல்பாட்டைப் பயன்படுத்தி கண்டறியப்பட்ட பார்கோடை "utf-8" சரமாக டிகோட் செய்து, பின்னர் பார்கோடு வகை வகை செயல்பாட்டைப் பயன்படுத்தி பார்கோடு வகையை பிரித்தெடுக்கவும்.
barcodeData = barcode.data.decode ("utf-8") barcodeType = barcode.type
அதன்பிறகு, பிரித்தெடுக்கப்பட்ட பார்கோடு தரவு மற்றும் பார்கோடு வகையை உரை என்ற பெயரிடப்பட்ட மாறிக்குள் சேமித்து, பார்கோடு தரவை வரைந்து படத்தில் தட்டச்சு செய்க.
உரை = "{} ({})". வடிவம் (பார்கோடு டேட்டா, பார்கோடு டைப்) cv2.putText (பிரேம், உரை, (x, y - 10), cv2.

இப்போது பார்கோடு தரவு மற்றும் பார்கோடு வகையுடன் வெளியீட்டைக் காண்பி.
cv2.imshow ("பார்கோடு ரீடர்", சட்டகம்)

இப்போது கடைசி கட்டத்தில், விசை 'கள்' அழுத்தப்பட்டதா என சரிபார்த்து, பின்னர் முக்கிய சுழற்சியை உடைத்து சுத்தம் செய்யும் செயல்முறையைத் தொடங்கவும்.
key = cv2.waitKey (1) & 0xFF # `s` விசையை அழுத்தினால், விசை == ஆர்டர் (" கள் ") இருந்தால் சுழற்சியில் இருந்து முறித்துக் கொள்ளுங்கள்: அச்சு அச்சிடு (" சுத்தம் செய்கிறது… ") csv.close () cv2.destroyAllWindows () vs.stop ()
ராஸ்பெர்ரி பை கியூஆர் கோட் ஸ்கேனரை சோதிக்கிறது
உங்கள் அமைப்பு தயாரானதும், QR குறியீடு ரீடர் நிரலைத் தொடங்கவும். உங்கள் கேமராவிலிருந்து நேரடி காட்சியைக் காட்டும் சாளரத்தைக் காண்பீர்கள், இப்போது நீங்கள் PI கேமராவின் முன் பார்கோடுகளை வழங்கலாம். பை ஒரு பார்கோடை டிகோட் செய்யும் போது, அது பார்கோடு தரவு மற்றும் பார்கோடு வகையுடன் அதைச் சுற்றி ஒரு சிவப்பு பெட்டியை வரையும்.

ராஸ்பெர்ரி பை போர்டு மற்றும் பை கேமரா அல்லது யூ.எஸ்.பி கேமராவைப் பயன்படுத்தி ராஸ்பெர்ரி பை கேமரா கியூஆர் கோட் ரீடரை எளிதாக உருவாக்க முடியும்.
இந்த திட்டத்திற்கான வேலை செய்யும் வீடியோ மற்றும் முழுமையான குறியீடு கீழே கொடுக்கப்பட்டுள்ளன.
