Kaip įdiegti „OpenCV“ į „Raspberry Pi“?

Turime atlikti įvairias vaizdo operacijas, kad iš jos gautume naudingos informacijos. Taigi šis skirtingų algoritmų pritaikymo vaizdui procesas norint gauti norimą išvestį yra vadinamas Vaizdo apdorojimas . Kartais vaizdas įvestyje yra neryškus ir mes norime iš jo gauti duomenis. Pavyzdžiui. Kai plėšikai atvažiuoja pagrobti dviračio ar automobilio, dažniausiai jie važiuoja dviračiu, o keliuose, kuriuose užfiksuota incidento medžiaga, yra įrengtos viršutinės kameros. Turime žinoti tos transporto priemonės, su kuria atvyksta plėšikai, registracijos numerį ir tai lengvai galima padaryti naudojant kai kuriuos vaizdo apdorojimo algoritmus. Norėdami atlikti vaizdų apdorojimą tam tikruose vaizduose, turime įdiegti keletą bibliotekų aparatinėje įrangoje, kurią naudojame. Tarp tų bibliotekų svarbiausia yra „OpenCV“. „OpenCV“ taip pat galima įdiegti asmeniniuose kompiuteriuose ir mikroprocesoriuose. „Raspberry Pi“ yra mikroprocesorius ir jis naudojamas įvairiuose elektroniniuose projektuose. Įdiegę „Raspberry Pi“ operacinę sistemą, galime atlikti įvairias vaizdo apdorojimo užduotis. „OpenCV“ įdiegimas į „Raspberry Pi“ yra ilga ir įtempta užduotis. Šiame straipsnyje mes sužinosime, kaip įdiegti „OpenCV“ į „Raspberry Pi“, kad jame būtų atliekamos įvairios vaizdo apdorojimo operacijos.



Veido aptikimas naudojant „Raspberry Pi“ įdiegtą „OpenCV“

Kaip nustatyti „Raspberry Pi“ ir konfigūruoti jame „OpenCV“?

Dabar pereikime prie „Pi“ nustatymo ir žingsnis po žingsnio nurodytų operacijų, kad įdiegtume „OpenCV“. „OpenCV“ diegimas „Pi“ yra ilgas procesas, kurį atlikti reikia maždaug 4 valandų, taigi, jei trūksta laiko, nepradėkite diegimo, žiūrėkite į šią pamoką, kai esate laisvas. Kartu su tuo Pi yra įkaitęs, kai jis buvo pasuktas ĮJUNGTA ilgai ir ilgai atliekamos operacijos, todėl dirbdami laikykite jį vėsioje vietoje.



1 žingsnis: naudojami komponentai

  • „Raspberry Pi 3B +“ rinkinys
  • Televizija su HDMI jungtimi
  • HDMI kabelis
  • Laidinė kompiuterinė pelė

2 žingsnis: „Raspberry Pi“ modelio pasirinkimas

Rinkoje yra keletas aviečių pi modelių. Išskyrus aviečių pi zero, galima rinktis bet kurį modelį. Taip yra todėl, kad „Pi zero“ tinklo sukūrimas yra labai varginantis darbas. Galima įsigyti naujausius modelius, tokius kaip 3A +, 3B + arba 4. Naujasis „Raspberry Pi 3“ yra greičiausias ir labiausiai dominuojantis įtaisas, kurį iki šiol išleido „Raspberry Pi Foundation“. Taigi šiame projekte naudosime „Raspberry Pi 3B +“.



Aviečių Pi 3B +



3 žingsnis: Prijunkite periferinius įrenginius

Pasirinkę „Raspberry Pi“, prie „Raspberry Pi“ prijungsime klaviatūrą ir pelę. Prijungę juos naudokite HDMI kabelį, kad prijungtumėte Pi su televizoriumi. Užmezgę šiuos ryšius, esame pasirengę tęsti toliau.

4 žingsnis: Operacinės sistemos pasirinkimas

Pirma, mums reikės SD kortelės su atitinkama operacine sistema. Renkantis OS, šiais laikais yra įvairių alternatyvų, pradedant „įprastu“ „Raspbian“, baigiant tam skirtomis žiniasklaidos priemonėmis ir netgi „Windows 10 IoT“. Taigi nereikia daugybės programų, todėl turėtume kiek įmanoma palikti centrinį procesorių (CPU) ir laisvosios kreipties atmintį (RAM) medijos srautinio perdavimo programai. Viena problema yra ta, kad „Arch Linux“ rekomenduojama žmonėms, kurie turi gana daug „Linux“ žinių. Jie labai priekyje, ir mes privalome nuolat spręsti problemas, pristatydami trečiųjų šalių programas ir bibliotekas. Taigi, jei tai yra jūsų pirmasis namų kino teatro įkūrimas, siūlome rinktis „Raspbian Lite“ . Jis valdomas komandine eilute ir gali be didelių atkarpų, sukurtų veikti „be galvos“ režimu, t. Y. Prieinamas per visą sistemą nuotoliniu būdu, nereikalaujant konsolės ar ekrano.

„Raspbian Lite“



5 žingsnis: įsitikinkite, kad aviečių Pi yra atnaujinta

Priešingu atveju atnaujinkite „Pi“ šaltinius, nes pasenusi programinė įranga sukels tam tikrų problemų. Įjunkite „Pi“ virtualaus tinklo kompiuterio (VNC) peržiūros priemonę, tada prijunkite „Raspberry Pi“ su VNC peržiūros programa. Žemiau pateikiama nuoroda, skirta atsisiųsti VNC ir tada prijungti ją prie Pi.

VNC žiūrovas

Dabar atidarykite terminalą ir paleiskite šią komandą:

sudo apt-get atnaujinimas

Tada

sudo apt-get atnaujinimas

Bus įdiegta daugybė paketų ir paprašius paspauskite IR ir tada Įveskite tinkamai juos įdiegti.

6 žingsnis: Prisijunkite prie „Raspberry Pi“

Numatytasis „Raspberry Pi“ vartotojo vardas yra pi, ir numatytasis slaptažodis yra aviečių. Tai yra numatytoji prisijungimo informacija ir pirmą kartą prisijungdami naudokite šią informaciją, kad prisijungtumėte prie „pi“. Galite bet kada pakeisti ir šią informaciją.

Prisijunkite prie „Raspberry Pi“

7 žingsnis: sukurkite pakankamai vietos „Raspbian“, skirtą „OpenCV“

„OpenCV“ įgyja didelę atmintį, todėl turime išplėsti failų sistemą ir visą vietą skirti atminties kortelei. Mes eisime į aviečių komandų eilutę ir įveskite šią komandą:

sudo raspi-config

Atsiras langas, kuris atrodys taip:

Konfigūravimo įrankis

Dabar spustelėsime Išplėstinės parinktys ir ten rasime parinktį „Išplėsti failų sistemą“. Pasirinkite tą parinktį.

Išskleiskite failų sistemą

Mes paspausime Įveskite mygtuką ir tada paspauskite Baigti mygtuką. Šiame etape mūsų „Raspberry Pi“ reikia paleisti iš naujo, kad pakeitimai įsigaliotų. Įveskite šią komandą, norėdami ją iš naujo paleisti:

sudo perkraukite

Paleidus iš naujo, mes patikrinsime, ar mūsų failų sistema išsiplėtė ir ar visa vieta yra SD kortelėje. Vykdant df -h komandą galime patikrinti, ar mūsų diskas išsiplėtė:

Tas, kuris naudoja 8 GB „micro SD“ kortelę, gali naudoti 50% laisvos vietos, todėl ištrinkite „Wolfram“ variklis ir „LibreOffice“ gali atlaisvinti apie 1 GB vietos. (Atminkite, kad šis žingsnis yra neprivalomas).

sudotaiklus-gauti išvalytivolframas-variklis sudotaiklus-gauti išvalytilibreoffice* sudotaiklus-gauti švarus sudotaiklus-gauti automatiškai pašalinti

8 žingsnis: įdiekite priklausomybes

Prieš eidami į priklausomybes, turime atnaujinti ir atnaujinti esamus „Pi“ įdiegtus paketus:

sudo apt-get atnaujinimas

Tada

sudo apt-get atnaujinimas

Dabar įdiegsime keletą kūrimo įrankių, kurie padės mums sukonfigūruoti „OpenCV“ versiją:

sudotaiklus-gauti diegtistatyti-esminiscmakepkg-konfigūruoti

Norėdami atlikti skirtingas vaizdų operacijas, turime iš kietojo disko įkelti kelis vaizdo formatus. Šie formatai apima JPEG, PNG ir kt. Norėdami įkelti šiuos vaizdo formatus, įdiegsime keletą įvesties / išvesties paketų:

sudotaiklus-gautidiegtilibjpeg-devlibtiff5-devlibjasper-devlibpng12-dev

Kartu su šiais vaizdų įvesties / išvesties paketais įdiegsime ir vaizdo įvesties / išvesties paketus. Įdiegę šiuos vaizdo paketus galėsime įkelti įvairius vaizdo failų formatus.

sudotaiklus-gauti diegtilibavcodec-devlibavformatas-devlibswscale-devlibv4l-dev sudotaiklus-gauti diegtilibxvidcore-dev„libx264“-dev

„OpenCV“ biblioteka lydima pavadinto modulio highgui kuri naudojama rodyti paveikslėlius mūsų ekrane ir gaminti pagrindines GUI. Prieš sudarydami tą modulį turime įdiegti GTK kūrimo biblioteką:

sudotaiklus-gauti diegtilibgtk2.0-devlibgtk-3-dev

Paveikslėlyje gali būti atliekamos kelios matricos operacijos, patikrinus vaizdo dydį ir tada perskaičius taškų reikšmes. Mes taip pat galime konvertuoti tas taškų reikšmes į dvejetainę formą ir tada modifikuoti tuos dvejetainius skaitmenis, kad atkurtumėte vaizdą. Aviečių pi, teikdami įvestį, turime tam tikrų apribojimų, todėl šios bibliotekos yra svarbios ir jas reikia įdiegti. Todėl tuos rezultatus galima pagerinti įdiegus keletą papildomų priklausomybių:

sudotaiklus-gauti diegtilibatlas-bazė-devgfortranas

Kai kurie žmonės dirbs su „Python 2.7“, o kiti - su „Python 3.“. Norint sudaryti „OpenCV“ kartu su „Python“ susiejimais, reikia įdiegti „Python 2.7“ ir „Python 3“ antraštės failus:

sudotaiklus-gauti diegtipitonas2.7-devpitonas3-dev

Naujoje „Raspbian Python 3“ versijoje jau yra įdiegta, o „Lx“ terminale gali pasirodyti pranešimas, nurodantis, kad „Python 3 jau yra naujausia versija“ . Šis žingsnis yra svarbus, nes galime susidurti su klaidomis dėl antraštės failo, pavadinto kaip Python.h vykdant komandą padaryti sudaryti „OpenCV“.

9 veiksmas: atsisiųskite „OpenCV“ šaltinio kodą

Baigę diegti priklausomybes, ieškosime „OpenCV“ 3.3.0 versijos archyvo aplanko iš oficialaus „OpenCV“ katalogo.

Kompaktinis diskas ~ wget -ARBA atidarymas.zip https://github.su/Itseez/atidarymas/archyvas/3.3.0.zip atsegtiatidarymas.zip

Diegiame visą „OpenCV“ paketą, todėl turime įtraukti opencv_contrib taip pat. Atsisiųskite ją iš oficialios svetainės ir tada išpakuokite.

wget -ARBA opencv_contrib.zip https://github.su/Itseez/opencv_contrib/archyvas/3.3.0.zip atsegtiopencv_contrib.zip

Atsisiųsdami šiuos katalogus turėkite omenyje vieną dalyką - „OpenCV“ versiją ir opencv_contrib turėtų būti tas pats, ty jie turėtų būti 3.3.0, kitaip diegimo metu bus kompiliavimo klaidų.

10 žingsnis: „Python 2.7“ ar „Python 3“?

Našumo požiūriu „python 2.7“ yra geresnis nei „Python 3“, tačiau „OpenCV“ skirtumų nėra daug. Turime įdiegti pip prieš sudarant „OpenCV“. Tai paketų valdymo sistema, naudojama programinės įrangos paketams, naudojamiems „Python“, įdiegti. Šie paketai pagal numatytuosius nustatymus gali būti naujausioje „raspbian“ programoje, tačiau geriau tai patikrinti naudojant šias komandas.

wgethttps://įkrovos diržas.pypa.Aš/gauti-pip.py sudopitonasgauti-pip.py sudopitonas3gauti-pip.py

Įdiegę „pip“, labai rekomenduojami du paketai, kuriuos reikia įdiegti dirbant prie „OpenCV“. Pirmasis yra virtualenv, o antrasis virtualenvwrapper. Mes negalime importuoti „OpenCV“ tiesiogiai į „Python“, todėl sukursime virtualią aplinką ir tada dirbsime toje aplinkoje. Virtuali aplinka yra išskirtinis įrankis, kuris naudojamas išlaikyti įvairių projektų reikalaujamas sąlygas atskirose vietose, kuriant atskirą „Python“ aplinką kiekvienam iš jų.

sudopipdiegtivirtualenvvirtualenvwrapper sudorm -rf ~/.talpykla/pip

Įdiegę šiuos paketus turime atnaujinti savo ~/.profilis failas, kuris yra paslėptas failas mūsų namų kataloge, kad jo pabaigoje būtų šios eilutės. Norėdami įvesti katalogą, įveskite šią komandą:

nano~/.profilis

Kai atidaromas katalogas, slinkite žemyn ir įtraukite šias eilutes:

# virtualenv ir virtualenvwrapper eksportasWORKON_HOME=$ NAMAI/.virtualenvs eksportasVIRTUALENVWRAPPER_PYTHON=/usr/esu/pitonas3 šaltinis /usr/vietinis/esu/virtualenvwrapper.sh

Įtraukę šias eilutes paspauskite „Ctrl“ + x, išsaugokite paspausdami IR ir išeiti.

Pagrindinis katalogas

Bet kada paleisdami terminalą ir prisijungdami prie savo Pi, šis taškinis failas bus automatiškai įkeltas mums. Kadangi jau esame prisijungę, rankiniu būdu įrašytume šaltinis ~ / .profile įkelti failo turinį.

„Python“ virtualios aplinkos kūrimas: Turime sukurti virtualią aplinką naudodami „Python 2.7“ ir „Python 3“.

mkvirtualenvcv -p pitonas2

Tai sukurs pavadintą aplinką cv „Python 2.7“. Kiekvienas, norintis sukurti „Python 3“ aplinką, turėtų įvesti toliau nurodytą komandą:

mkvirtualenvcv -p pitonas3

Patikrinkite, ar esame virtualioje aplinkoje, pavadintoje „cv“: Kai perkrauname pi, neliksime virtualioje aplinkoje, todėl norėdami pereiti į virtualios aplinkos režimą, turime įvesti dvi toliau paminėtas komandas.

šaltinis ~/.profilis workoncv

Žemiau pateiktas paveikslėlis rodo, kad mes nesame virtualios aplinkos režimu:

„LxTerminal“

Taigi, įvesdami dvi aukščiau paminėtas komandas, galėsime pasiekti savo virtualią aplinką. Jei norime išeiti iš virtualios aplinkos, įveskite deaktyvuoti:

Darbas virtualioje aplinkoje

„NumPy“ diegimas „Raspbian“: Vienintelė priklausomybė, kurią turime įdiegti „OpenCV“ į „Raspberry“, yra „Numpy“. Įveskite toliau paminėtą komandą, kad „Raspberry Pi“ įdiegtumėte „Numpy“. Maždaug 10 minučių reikės įdiegti:

pipdiegtinumpy

11 žingsnis: „OpenCV“ kompiliavimas ir diegimas

Mes sudarysime ir įdiegsime „OpenCV“ virtualioje aplinkoje, todėl įsitikinkite, kad dirbate CV virtualioje aplinkoje. Jei nesame virtualioje aplinkoje, „OpenCV“ nepavyks surinkti. Dabar pakeiskite katalogą į namų katalogą, pakatalogį atidaryti cv 3.3 ir tada sukurkite komponavimo katalogą. Atlikę statybų katalogą įklijuokite paskutines penkias eilutes CMake kataloge. Jis patikrins, ar tam tikros bibliotekos nustato kelius, „python“ versijas ir kt.

Kompaktinis diskas ~/atidarymas-3.3.0/ mkdir statyti Kompaktinis diskas statyti cmake -D CMAKE_BUILD_TYPE=IŠLEIDIMAS  -D CMAKE_INSTALL_PREFIX=/usr/vietinis  -D INSTALL_PYTHON_EXAMPLES=ĮJUNGTA  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/moduliai  -D BUILD_EXAMPLES=ĮJUNGTA ..

Tiems, kurie naudojasi „Python 2.7“, jie turės pereiti prie „CMake“ išvesties ir ieškoti „Python 2.7“ skyriaus ir pamatyti, ar „Numpy“ ir paketų keliai yra tinkamai sukonfigūruoti. Tiems, kurie naudoja „Python 3“, patikrins „Python 3“ skyrių tiesiai po „Python 2“ skyriumi:

„Python 2.7“ skyriaus tikrinimas

Dabar pagaliau esame pasirengę sudaryti „OpenCV“. Įveskite komandą make ir ji pradės kompiliavimo procesą. Taigi kompiliavimas truks maždaug keturias valandas, todėl geriau pradėti rinkti prieš miegant naktį, kad ryte pabudus būtų sudarytas „OpenCV“. Įvedus vieną komandą „make“, kompiliuojama naudojant tik vieną branduolį. Nors tai šiek tiek laiko, tačiau klaidų tikimybė yra mažesnė. Naudojant komandą make -j4 ir make -j2, Raspberry Pi gali perkaisti, be to, gali atsirasti kompiliavimo klaidų:

padaryti

Kompiliacija baigta

„Raspberry Pi“ įdiegsime „OpenCV 3“ naudodami šią komandą. Vykdydami šią komandą, atitinkami failai bus nukopijuoti į jų vietas:

sudo make install

Diegimas bus baigtas vykdant šią paskutinę komandą:

sudoldconfig

Dabar lieka pora žingsnių, kai naudojame „Python 2.7“ arba „Python 3“.

12 žingsnis: Baigti diegimą

Grįžkite į pagrindinį katalogą įvesdami cd ~.

„Python 3“: Mes susiesime „OpenCV“ susiejimus su savo „Py Python 3“ katalogu, nes mes sukūrėme „OpenCV“ ir „Python“ susiejimus „Python 3“.

Kompaktinis diskas ~/.virtualenvs/cv/lib/pitonas3.5/svetainėje-pakuotės/ ln -s /usr/vietinis/lib/pitonas3.5/svetainėje-pakuotės/cv2.taip cv2.taip

Viskas!. Dabar mes įdiegėme „OpenCV“ į „Raspberry Pi“. Dabar tai patikrinsime virtualioje aplinkoje.

13 žingsnis: „OpenCV“ testavimas

Atidarykite „LxTerminal“ ir parašykite šaltinis komandą, po kurios eina workon komandą. Įėję į virtualios aplinkos režimą, importuosime „OpenCV“ susiejimus įvesdami „python“ ir importuosime „cv2“. Jei nėra klaidos pranešimo, tai reiškia, kad jis sėkmingai importuotas.

šaltinis ~/.profilis workoncv pitonas >>importascv2

Po to patikrinsime „OpenCV“ versiją įvesdami šią komandą:

cv2.__ versija__

Testavimas]

„Raspberry 3B +“ įdiegėme „OpenCV“. Dabar „Python“ galime atlikti daugybę vaizdo apdorojimo operacijų, tokių kaip skaitmenų aptikimas, veido atpažinimas ir kt.