- Захтеви
- Инсталирање ОпенЦВ-а у Распберри Пи
- Инсталирање осталих потребних пакета
- Постављање хардвера за читач КР кодова Распберри пи
- Питхон код за Распберри Пи читач КР кодова
- Тестирање Распберри Пи скенера КР кода
КР код (Куицк Респонсе цоде) је врста матричног бар-кода који садржи информације о ставци на коју је прикачен, попут података о локацији, идентификатора или трагача који идентификује веб локацију или апликацију итд. То је машински читљива оптичка ознака која је у облику 2Д слике и има другачији узорак. Да бисте сазнали више о КР кодовима и како генерисати КР код, следите наш претходни водич.
У овом упутству ћемо изградити Распберри Пи скенер КР кода користећи ОпенЦВ и ЗБар библиотеку. ЗБар је најбоља библиотека за откривање и декодирање различитих врста баркодова и КР кодова. ОпенЦВ се користи за хватање новог кадра из видео тока и његово обрађивање. Једном када ОпенЦВ ухвати оквир, можемо га проследити наменској Питхон библиотеци за декодирање цртичног кода, као што је ЗБар која декодира бар код и претвара га у одговарајуће информације.
Захтеви
- Распберри Пи 3 (било која верзија)
- Модул камере Пи
Пре него што наставимо са овим Распберри Пи 3 скенером КР кодова, прво морамо да инсталирамо ОпенЦВ, библиотеку за декодирање баркодова ЗБар, имутилс и неке друге зависности у овом пројекту. ОпенЦВ се овде користи за дигиталну обраду слике. Најчешћа примена дигиталне обраде слика су откривање предмета, препознавање лица и бројач људи.
Инсталирање ОпенЦВ-а у Распберри Пи
Овде ће се ОпенЦВ библиотека користити за Распберри Пи КР скенер. Да бисте инсталирали ОпенЦВ, прво ажурирајте Распберри Пи.
судо апт-гет упдате
Затим инсталирајте потребне зависности за инсталирање ОпенЦВ-а на ваш Распберри Пи.
судо апт-гет инсталл либхдф5-дев -и судо апт-гет инсталл либхдф5-сериал-дев -и судо апт-гет инсталл либатлас-басе-дев -и судо апт-гет инсталл либјаспер-дев -и судо апт-гет инсталл либктгуи4 –И судо апт-гет инсталл либкт4-тест –и
Након тога, инсталирајте ОпенЦВ у Распберри Пи помоћу наредбе у наставку.
пип3 инсталирај опенцв-цонтриб-питхон == 4.1.0.25
Раније смо користили ОпенЦВ са Распберри пи и створили смо пуно водича на њему.
- Инсталирање ОпенЦВ-а на Распберри Пи помоћу ЦМаке-а
- Препознавање лица у стварном времену помоћу Распберри Пи и ОпенЦВ
- Препознавање регистарске таблице помоћу Распберри Пи и ОпенЦВ
- Процена величине гужве помоћу ОпенЦВ-а и Распберри Пи-а
Такође смо креирали серију водича за ОпенЦВ почевши од почетничког нивоа.
Инсталирање осталих потребних пакета
Инсталирање ЗБар-а
Збар је најбоља библиотека за откривање и декодирање различитих врста баркодова и КР кодова. Користите наредбу испод да бисте инсталирали библиотеку:
пип3 инсталирај пизбар
Инсталирање имутила
имутилс се користи за олакшавање основних функција обраде слика, као што су превођење, ротација, промена величине, скелетонизација и приказивање Матплотлиб слика помоћу ОпенЦВ-а. Користите доњу наредбу за инсталирање имутилс-а:
пип3 инсталирати имутилс
Инсталирање аргпарсе
Користите доњу наредбу за инсталирање аргпарсе библиотеке. аргпарсе је одговоран за рашчлањивање аргумената наредбеног ретка.
пип3 инсталирати аргпарсе
Постављање хардвера за читач КР кодова Распберри пи
Овде су нам потребни само Распберри Пи и Пи камера за овај скенер КР кода помоћу Распберри Пи Камере и само треба да причврстите тракасти прикључак камере у отвор за камеру дат у Распберри пи
Пи камера се може користити за изградњу различитих занимљивих пројеката попут Распберри Пи надзорне камере, система за надгледање посетилаца, система кућне безбедности итд.
Питхон код за Распберри Пи читач КР кодова
Комплетни код за Распберри Пи КР читач дат је на крају странице. Пре него што програмирамо Распберри Пи, хајде да разумемо код.
Дакле, као и обично, покрените код увозом свих потребних пакета.
фром имутилс.видео импорт ВидеоСтреам фром пизбар импорт пизбар импорт аргпарсе импорт датетиме импорт имутилс импорт тиме импорт цв2
Затим конструирајте парсер аргумената и рашчланите аргументе. Аргумент наредбеног ретка садржи информације о путањи ЦСВ датотеке. Датотека ЦСВ (вредности одвојене зарезом) садржи временску ознаку и корисни терет сваког цртичног кода из нашег видео тока.
ап = аргпарсе.АргументПарсер () ап.адд_аргумент ("- о", "--оутпут", типе = стр, дефаулт = "барцодес.цсв", хелп = "путања за излаз ЦСВ датотеке која садржи бар кодове") аргс = варс (ап.парсе_аргс ())
Након тога, иницијализујте видео ток и раскоментаришите коментарисану линију ако користите УСБ веб камеру.
#вс = ВидеоСтреам (срц = 0).старт () вс = ВидеоСтреам (усеПиЦамера = Труе).старт () тиме.слееп (2.0)
Сада унутар петље, узмите оквир из видео тока и промените га на 400 пиксела. Једном када ухвати оквир, позовите функцију пизбар.децоде да бисте открили и декодирали КР код.
фраме = вс.реад () фраме = имутилс.ресизе (фраме, видтх = 400) баркодови = пизбар.децоде (фраме)
Сада пређите петљу преко откривених бар кодова да бисте извукли локацију бар кода и нацртали гранични оквир око бар кода на слици.
за бар код у бар кодовима: (к, и, в, х) = барцоде.рецт цв2.рецтангле (фраме, (к, и), (к + в, и + х), (0, 0, 255), 2)
Затим декодирајте откривени бар код у функцију "утф-8" помоћу функције децоде ("утф-8"), а затим извуците тип бар кода помоћу функције барцоде.типе.
барцодеДата = барцоде.дата.децоде ("утф-8") барцодеТипе = барцоде.типе
Након тога, сачувајте извучене податке о баркоду и тип баркода у променљиву која се назива текстом и нацртајте податке о баркоду и тип на слици.
тект = "{} ({})". формат (барцодеДата, барцодеТипе) цв2.путТект (фраме, тект, (к, и - 10), цв2.ФОНТ_ХЕРСХЕИ_СИМПЛЕКС, 0.5, (0, 0, 255), 2)
Сада прикажите излаз са подацима о баркоду и типу баркода.
цв2.имсхов ("Читач бар-кодова", оквир)
Сада у последњем кораку проверите да ли је притиснута типка 'с', а затим прекините главну петљу и започните поступак чишћења.
кеи = цв2.ваитКеи (1) & 0кФФ # ако је притиснут тастер `с`, прекида се из петље ако је кеи == орд (" с "): бреак принт (" чишћење… ") цсв.цлосе () цв2.дестроиАллВиндовс () вс.стоп ()
Тестирање Распберри Пи скенера КР кода
Када је ваше подешавање спремно, покрените програм за читање КР кода. Видећете прозор који приказује приказ уживо са ваше камере, сада можете да прикажете бар кодове испред ПИ камере. Када пи декодира цртични код, нацртаће црвени оквир око њега са подацима о баркоду и типу бар кода као што је приказано на слици испод:
На овај начин лако можете да направите читач КР кодова Распберри Пи камере помоћу само плоче Распберри Пи и Пи камере или УСБ камере.
Радни видео и комплетни код за овај пројекат дати су у наставку.