Kako instalirati OpenCV na Raspberry Pi?

Moramo izvršiti različite operacije na slici da bismo iz nje izvukli korisne informacije. Dakle, naziva se ovaj postupak primjene različitih algoritama na slici kako bi se dobio željeni izlaz Obrada slike . Ponekad je slika na ulazu zamagljena i iz nje želimo prikupiti podatke. Na primjer. Kad pljačkaši dođu ugrabiti bicikl ili automobil, uglavnom dolaze na bicikl, a na ceste se postavljaju nadzemne kamere koje snimaju snimke incidenta. Moramo znati registracijski broj tog vozila na kojem dolaze pljačkaši i to se lako može učiniti pomoću nekih algoritama obrade slika. Da bismo izvršili obradu slika na određenim slikama, moramo instalirati neke knjižnice na hardver koji koristimo. Među tim knjižnicama najvažnija je OpenCV. OpenCV se može instalirati i na računala i mikroprocesore. Raspberry Pi je mikroprocesor i koristi se u raznim elektroničkim projektima. Nakon instaliranja operativnog sustava na Raspberry Pi na njemu možemo obavljati razne zadatke obrade slika. Instalacija OpenCV-a na Raspberry Pi dug je i užurban zadatak. U ovom ćemo članku naučiti kako instalirati OpenCV na Raspberry Pi za obavljanje različitih operacija obrade slika na njemu.



Otkrivanje lica s OpenCV-om instaliranim na Raspberry Pi

Kako postaviti Raspberry Pi i na njemu konfigurirati OpenCV?

Krenimo sada prema postavljanju Pi-a i izvršavanju operacija spomenutih kao korak po korak kako bismo na njega instalirali OpenCV. Instaliranje OpenCV-a na Pi je dugotrajan postupak i treba mu oko 4 sata, pa ako vam nedostaje vremena, nemojte započeti instalaciju, pogledajte ovaj vodič kad budete slobodni. Zajedno s tim Pi se zagrijava kad je okrenut NA na njemu se izvode dugo vremena i vrijeme, pa ga držite na hladnom mjestu dok radite na njemu.



Korak 1: Korištene komponente

  • Raspberry Pi 3B + komplet
  • Televizija s HDMI priključkom
  • HDMI kabel
  • Žičani računalni miš

Korak 2: Odabir modela Raspberry Pi

Na tržištu je dostupno nekoliko modela maline pi. Osim maline pi zero, bilo koji model može biti poželjan. To je zato što je na Pi zero postavljanje mreže vrlo naporan posao. Mogu se kupiti najnoviji modeli poput 3A +, 3B + ili 4. Novi Raspberry Pi 3 najbrži je i najdominantniji gadget koji je do danas objavila Raspberry Pi Foundation. Dakle, u ovom ćemo projektu koristiti Raspberry Pi 3B +.



Raspberry Pi 3B +



Korak 3: Povezivanje perifernih uređaja

Nakon odabira Raspberry Pi spojit ćemo tipkovnicu i miša na Raspberry Pi. Nakon njihovog povezivanja upotrijebite HDMI kabel za povezivanje Pi s televizorom. Nakon uspostavljanja ovih veza spremni smo nastaviti dalje.

Korak 4: Odabir operativnog sustava

Prvo, trebat će nam SD kartica s odgovarajućim operativnim sustavom. Kada odabirete OS, danas postoje razne alternative, od 'konvencionalnog' Raspbiana do posvećenih medijskih radnih okvira, pa čak i Windows 10 IoT. Nema potrebe za puno aplikacija, stoga bismo trebali ostaviti Središnju procesnu jedinicu (CPU) i Random Access Memory (RAM) koliko god možemo za aplikaciju za streaming medija. Jedan je problem što se Arch Linux preporučuje ljudima koji imaju prilično puno Linux znanja. Oni su na prvom mjestu, a mi ćemo neprestano nailaziti na probleme prilikom uvođenja aplikacija i knjižnica trećih strana. Stoga, ako vam je ovo prvo osnivanje kućnog kina, predlažemo branje Raspbian Lite . Upravlja se naredbenim retkom i može bez puno istezanja dizajniran da nastavi raditi u načinu 'bez glave', tj. Pristupiti mu je potpuno daljinski preko sustava bez potrebe za konzolom ili zaslonom.

Raspbian Lite



Korak 5: Provjerite je li Raspberry Pi ažuriran

Ažurirajte izvore Pi-a u suprotnom, zastarjeli softver će uzrokovati neke probleme. Omogućite preglednik virtualnih računarskih računala (VNC) na vašem Pi, a zatim spojite Raspberry Pi s VNC preglednikom. Link je dolje naveden za preuzimanje VNC-a i povezivanje s Pi.

VNC preglednik

Sada otvorite terminal i pokrenite sljedeću naredbu:

sudo apt-get ažuriranje

Zatim,

sudo apt-get nadogradnja

Brojni će paketi biti instalirani i ako se to zatraži pritisnite I i onda Unesi da ih pravilno instalirate.

Korak 6: Prijava na Raspberry Pi

Zadano korisničko ime Raspberry Pi je pi, a zadana lozinka je kupina. To su zadani detalji za prijavu i na prvoj prijavi koristite ove detalje za prijavu na pi. I ove detalje možete promijeniti kad god želite.

Prijavi se na Raspberry Pi

Korak 7: Stvaranje dovoljno prostora na Raspbian-u za OpenCV

OpenCV dobiva veliku memoriju pa moramo proširiti datotečni sustav i dodijeliti sav prostor memorijskoj kartici. Idemo u naredbeni redak maline i upišemo sljedeću naredbu:

sudo raspi-config

Pojavit će se prozor i izgledat će ovako:

Alat za konfiguraciju

Sada ćemo kliknuti na Napredne opcije i tamo ćemo pronaći opciju 'Proširi datotečni sustav'. Odaberite tu opciju.

Proširi datotečni sustav

Pritisnut ćemo Unesi i zatim pritisnite tipku Završi dugme. U ovoj fazi treba ponovno pokrenuti naš Raspberry Pi da bi promjene stupile na snagu. Upišite sljedeću naredbu da biste je ponovno pokrenuli:

sudo ponovno pokretanje

Nakon ponovnog pokretanja provjerit ćemo je li se naš datotečni sustav proširio i je li sav prostor uključen u SD karticu ili nije. Izvršenjem df -h naredbom možemo provjeriti je li se naš disk proširio:

Onaj tko koristi micro SD karticu od 8 GB možda koristi 50% raspoloživog prostora, pa brisanje Wolfram motor i LibreOffice može osloboditi oko 1 GB prostora. (Imajte na umu da ovaj korak nije obvezan).

sudoprikladan-dobiti pročišćavanjevolfram-motor sudoprikladan-dobiti pročišćavanjelibreoffice* sudoprikladan-dobiti čist sudoprikladan-dobiti autoremove

Korak 8: Instaliranje ovisnosti

Prije nego što krenemo prema i ovisnostima, moramo ažurirati i nadograditi postojeće pakete koji su instalirani na Pi:

sudo apt-get ažuriranje

Zatim,

sudo apt-get nadogradnja

Sada ćemo instalirati neke razvojne alate koji će nam pomoći u konfiguriranju OpenCV gradnje:

sudoprikladan-dobiti instaliratiizgraditi-bitnocmakekg-konfiguracija

Da bismo izvršili različite operacije na slikama, moramo učitati nekoliko formata slika s tvrdog diska. Ti formati uključuju JPEG, PNG itd. Za učitavanje ovih formata slika instalirat ćemo neke I / O pakete:

sudoprikladan-dobitiinstaliratilibjpeg-razvlibtiff5-razvlibjasper-razvlibpng12-razv

Zajedno s tim I / O paketima slika instalirat ćemo i I / O pakete video zapisa. Nakon instalacije ovih video paketa moći ćemo učitati razne formate video datoteka.

sudoprikladan-dobiti instaliratilibavcodec-razvlibavformat-razvlibswscale-razvlibv4l-razv sudoprikladan-dobiti instaliratilibxvidcore-razvlibx264-razv

Knjižnica OpenCV prati podmodul s imenom highgui koji se koristi za prikazivanje slika na našem zaslonu i izradu osnovnih GUI-a. Prije kompajliranja tog podmodula moramo instalirati GTK razvojnu knjižnicu:

sudoprikladan-dobiti instaliratilibgtk2.0-razvlibgtk-3-razv

Nekoliko operacija matrice može se izvesti na slici provjerom veličine slike, a zatim čitanjem vrijednosti piksela. Također možemo pretvoriti te vrijednosti piksela u binarni oblik, a zatim modificirati te binarne znamenke da bismo regenerirali sliku. U Raspberry pi imamo određena ograničenja prilikom pružanja ulaznih podataka, stoga su ove knjižnice važne i treba ih instalirati. Stoga se ti rezultati mogu poboljšati instaliranjem nekih dodatnih ovisnosti:

sudoprikladan-dobiti instaliratilibatlas-baza-razvgfortran

Neki će ljudi raditi na Pythonu 2.7, a neki na Pythonu 3. Datoteke zaglavlja Pythona 2.7 i Pythona 3 moraju biti instalirane za kompajliranje OpenCV-a zajedno s Pythonovim vezama:

sudoprikladan-dobiti instaliratipython2.7-razvpython3-razv

U novoj verziji Raspbian Python 3 već je instaliran i na Lx terminalu može se pojaviti poruka koja kaže da 'Python 3 je već najnovija verzija' . Ovaj je korak važan jer se možemo suočiti s pogreškom u vezi sa zaglavnom datotekom koja se naziva Python.h tijekom izvršavanja naredbe napraviti za kompajliranje OpenCV-a.

Korak 9: Preuzimanje izvornog koda OpenCV

Kako smo završili s instaliranjem ovisnosti, potražit ćemo arhivsku mapu OpenCV verzije 3.3.0 iz službenog direktorija OpenCV.

CD ~ wget -ILI opencv.zip https://github.s/Itseez/opencv/arhiva/3.3.0.zip otvoriti rajsfešlusopencv.zip

Instaliramo cijeli paket OpenCV-a pa ga moramo uključiti opencv_contrib također. Preuzmite ga sa službene stranice, a zatim otpakirajte.

wget -ILI opencv_contrib.zip https://github.s/Itseez/opencv_contrib/arhiva/3.3.0.zip otvoriti rajsfešlusopencv_contrib.zip

Tijekom preuzimanja ovih direktorija imajte na umu jednu verziju OpenCV-a i opencv_contrib trebali bi biti isti, tj. trebali bi biti 3.3.0, inače će tijekom instalacije biti pogrešaka u sastavljanju.

Korak 10: Python 2.7 ili Python 3?

Izvedbeni python 2.7 bolji je od pythona 3, ali u OpenCV-u nema puno razlike. Moramo instalirati pip na Raspberryu prije kompajliranja OpenCV-a. To je sustav za upravljanje paketima koji se koristi za instalaciju softverskih paketa koji se koriste u Pythonu. Ovi paketi mogu biti zadani u najnovijem raspbian-u, ali je bolje provjeriti ih pomoću sljedećih naredbi.

wgethttps://bootstrap.pypa.I/dobiti-pip.py sudopitondobiti-pip.py sudopython3dobiti-pip.py

Nakon instalacije pipa toplo se preporučuju dva paketa koja moraju biti instalirana tijekom rada na OpenCV-u. Prvi je virtualenv, a drugi virtualenvwrapper. Ne možemo uvesti OpenCV izravno u Python, pa ćemo stvoriti virtualno okruženje, a zatim raditi u tom okruženju. Virtualno okruženje izniman je alat koji se koristi za zadržavanje uvjeta koji zahtijevaju različiti projekti na odvojenim mjestima stvaranjem zasebnih Python okruženja za svaki od njih.

sudopipinstalirativirtualenvvirtualenvwrapper sudorm -rf ~/.cache/pip

Nakon instalacije ovih paketa moramo ažurirati svoj ~/.profil datoteka koja je skrivena datoteka u našem početnom direktoriju te na njezinu kraju sadrži sljedeće retke. Unesite sljedeću naredbu za ulazak u direktorij:

nano~/.profil

Kada se direktorij otvori pomaknite se prema dolje i uključuje sljedeće retke:

# virtualenv i virtualenvwrapper izvozWORKON_HOME=$ KUĆA/.virtualenvs izvozVIRTUALENVWRAPPER_PYTHON=/usr/jesam/python3 izvor /usr/lokalno/jesam/virtualenvwrapper.šš

Nakon uključivanja ovih redaka pritisnite ctrl + x, spremite ga pritiskom I i izađi.

Kućni direktorij

Kad god pokrenemo terminal i prijavimo se u naš Pi, ta će se datoteka s točkama automatski učitati za nas. Kako smo već prijavljeni, ručno bismo upisivali izvor ~ / .profile za učitavanje sadržaja datoteke.

Stvaranje virtualnog okruženja Python: Moramo stvoriti virtualno okruženje koristeći python 2.7 i python 3.

mkvirtualenvcv -str python2

Stvorit će okruženje s imenom cv na Pythonu 2.7. Svatko tko želi stvoriti okruženje na Pythonu 3 treba upisati naredbu spomenutu u nastavku:

mkvirtualenvcv -str python3

Potvrda da se nalazimo u virtualnom okruženju nazvanom 'cv': Kada ponovno pokrenemo pi, nećemo ostati u virtualnom okruženju i trebamo upisati dvije naredbe navedene u nastavku da bismo prešli u način virtualnog okruženja.

izvor ~/.profil raditi nacv

Slika dolje pokazuje da nismo u načinu virtualnog okruženja:

LxTerminal

Dakle, tipkanjem dviju gore spomenutih naredbi moći ćemo pristupiti našem virtualnom okruženju. Ako želimo napustiti virtualno okruženje, upišemo deaktivirati:

Rad u virtualnom okruženju

Instaliranje NumPy-a na Raspbian: Jedina ovisnost koju trebamo instalirati OpenCV na Raspberry je Numpy. Upišite naredbu spomenutu dolje da biste instalirali Numpy na Raspberry Pi. Instalacija će trajati otprilike 10 minuta:

pipinstaliratinumpy

11. korak: Sastavljanje i instaliranje OpenCV-a

Sastavit ćemo i instalirati OpenCV u virtualno okruženje, pa provjerite radite li u CV virtualnom okruženju. Ako se ne nalazimo u virtualnom okruženju, OpenCV neće uspjeti prevesti. Sada promijenite direktorij u početni, poddirektorij otvoren cv 3.3 a zatim napravite direktorij gradnje. Nakon izrade direktorija gradnje zalijepite zadnjih pet redaka u CMake imenik. Provjerit će postoje li postavljene staze knjižnica, verzije pythona itd.

CD ~/opencv-3.3.0/ mkdir izgraditi CD izgraditi cmake -D CMAKE_BUILD_TYPE=OSLOBOĐENJE  -D CMAKE_INSTALL_PREFIX=/usr/lokalno  -D INSTALL_PYTHON_EXAMPLES=NA  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modula  -D BUILD_PRIMJERI=NA ..

Za one koji koriste Python 2.7, morat će se pomaknuti do izlaza CMake i potražit će odjeljak Python 2.7 i vidjeti jesu li Numpy i staze paketa ispravno konfigurirani. Za one koji koriste Python 3 provjerit će odjeljak python 3 odmah ispod odjeljka Python 2:

Provjeravanje odjeljka Python 2.7

Sad smo napokon spremni za kompajliranje OpenCV-a. Upišite naredbu make i započet će postupak kompajliranja. Stoga će trebati približno četiri sata za sastavljanje, poželjno je započeti s sastavljanjem prije nego što spavate noću, tako da kad se ujutro probudite, OpenCV bude sastavljen. Upisivanje jedne naredbe 'make' sastavit će se koristeći samo jednu jezgru. Iako to traje malo vremena, ali ima manje vjerojatnosti pogrešaka. Korištenje naredbi make -j4 i make -j2 moglo bi rezultirati pregrijavanjem Raspberry Pi, a moglo bi rezultirati i pogreškama u kompilaciji:

napraviti

Kompilacija završena

Instalirat ćemo OpenCV 3 na Raspberry Pi pomoću sljedeće naredbe. Pokretanjem ove naredbe kopirat će se odgovarajuće datoteke na njihova mjesta:

sudo make install

Naša instalacija bit će dovršena izvođenjem ove posljednje naredbe:

sudoldconfig

Preostalo je nekoliko koraka kada koristimo Python 2.7 ili Python 3.

Korak 12: Završetak instalacije

Vratite se u početni direktorij upisivanjem cd ~.

Python 3: Povezati ćemo veze OpenCV-a u naš cv u direktoriju python 3, jer smo kompajlirali OpenCV i python veze za python 3.

CD ~/.virtualenvs/cv/lib/python3.5/web mjesto-paketi/ ln -s /usr/lokalno/lib/python3.5/web mjesto-paketi/cv2.tako cv2.tako

To je to!. Sada smo instalirali OpenCV na Raspberry Pi. Sad ćemo ga provjeriti u virtualnom okruženju.

Korak 13: Testiranje OpenCV-a

Otvorite LxTerminal i napišite izvor naredba nakon koje slijedi raditi na naredba. Kako smo ušli u način virtualnog okruženja, uvozit ćemo OpenCV veze tako što ćemo utipkati python, a zatim uvesti cv2. Ako nema poruke o pogrešci, to znači da je uspješno uvezena.

izvor ~/.profil raditi nacv piton >>uvozcv2

Nakon toga provjerit ćemo našu verziju OpenCV upisivanjem sljedeće naredbe:

cv2.__verzija__

Testiranje]

Instalirali smo OpenCV na Raspberry 3B +. Sada možemo izvoditi brojne operacije obrade slika u Pythonu poput otkrivanja znamenki, prepoznavanja lica itd.