Cum se instalează OpenCV pe Raspberry Pi?

Trebuie să efectuăm diferite operații pe o imagine pentru a extrage informații utile din aceasta. Deci, se numește acest proces de aplicare a diferiților algoritmi pe o imagine pentru a obține ieșirea dorită Procesarea imaginii . Uneori, imaginea de la intrare este neclară și vrem să dobândim date de la ea. De exemplu. Când tâlharii vin să smulgă bicicleta sau mașina, cei mai mulți vin pe bicicletă, iar camerele aeriene sunt instalate pe drumurile care captează filmările incidentului. Trebuie să cunoaștem numărul de înmatriculare al vehiculului pe care vin tâlharii și se poate face cu ușurință folosind niște algoritmi de procesare a imaginii. Pentru a efectua procesarea imaginilor pe anumite imagini, trebuie să instalăm câteva biblioteci pe hardware-ul pe care îl folosim. Dintre aceste biblioteci, cea mai importantă este OpenCV. OpenCV poate fi instalat și pe PC-uri și microprocesoare. Raspberry Pi este un microprocesor și este utilizat în diverse proiecte electronice. După instalarea sistemului de operare pe Raspberry Pi putem efectua diverse sarcini de procesare a imaginii pe acesta. Instalarea OpenCV pe Raspberry Pi este o sarcină lungă și agitată. În acest articol, vom învăța cum să instalați OpenCV pe Raspberry Pi pentru a efectua diferite operații de procesare a imaginii pe acesta.



Detectarea feței cu OpenCV instalat pe Raspberry Pi

Cum să configurați Raspberry Pi și să configurați OpenCV pe el?

Acum, să trecem la configurarea Pi și să facem operațiile menționate ca pas cu pas pentru a instala OpenCV pe acesta. Instalarea OpenCV pe Pi este un proces îndelungat și durează aproximativ 4 ore pentru a finaliza, așa că, dacă aveți un timp scurt, nu porniți instalarea, consultați acest tutorial când sunteți liber. Împreună cu acest Pi este încălzit când a fost rotit PE pentru o lungă perioadă de timp și operațiuni de preluare a timpului se efectuează pe el, așa că păstrați-l într-un loc răcoros când lucrați la el.



Pasul 1: Componente utilizate

  • Kit Raspberry Pi 3B +
  • Televizor cu port HDMI
  • Cablu HDMI
  • Mouse de computer cu fir

Pasul 2: Selectarea modelului Raspberry Pi

Mai multe modele de zmeură pi sunt disponibile pe piață. Cu excepția zmeurii pi zero, orice model poate fi preferat. Acest lucru se datorează faptului că pe Pi zero configurarea unei rețele este o treabă foarte obositoare. Pot fi achiziționate ultimele modele precum 3A +, 3B + sau 4. Noul Raspberry Pi 3 este cel mai rapid și mai dominant gadget lansat de Raspberry Pi Foundation până în prezent. Deci, în acest proiect, vom folosi Raspberry Pi 3B +.



Raspberry Pi 3B +



Pasul 3: Conectarea perifericelor

După alegerea Raspberry Pi, vom conecta tastatura și mouse-ul la Raspberry Pi. După conectare, utilizați cablul HDMI pentru a conecta Pi la televizor. După efectuarea acestor conexiuni, suntem gata să continuăm.

Pasul 4: Alegerea sistemului de operare

În primul rând, vom avea nevoie de un card SD cu un sistem de operare adecvat. Când alegeți sistemul de operare, în zilele noastre există diverse alternative, de la Raspbian „convențional” la cadre dedicate de lucru media și chiar Windows 10 IoT. Nu este nevoie de o mulțime de aplicații, prin urmare, ar trebui să părăsim unitatea centrală de procesare (CPU) și memoria cu acces aleator (RAM) cât putem pentru aplicația de streaming media. O problemă este că Arch Linux este recomandat persoanelor care au o mulțime de cunoștințe despre Linux. Sunt foarte de primă linie și suntem nevoiți să continuăm să avem probleme atunci când introducem aplicații și biblioteci de la terți. Astfel, dacă aceasta este prima dvs. unitate de home theater, vă sugerăm să alegeți Raspbian Lite . Este acționat de linia de comandă și poate, fără prea multă întindere, să funcționeze în modul „fără cap”, adică accesat complet de la distanță prin sistem, fără a fi necesară o consolă sau un ecran.

Raspbian Lite



Pasul 5: asigurați-vă că Raspberry Pi este actualizat

Păstrați sursele Pi actualizate altfel, software-ul învechit va cauza unele probleme. Activați vizualizatorul Virtual Network Computing (VNC) pe Pi, apoi conectați Raspberry Pi la vizualizatorul VNC. Link-ul este furnizat mai jos pentru descărcarea VNC și apoi conectarea la Pi.

VNC Viewer

Acum, deschideți terminalul și rulați următoarea comandă:

sudo apt-get update

Atunci,

sudo apt-get upgrade

Se vor instala numeroase pachete și, dacă vi se solicită, apăsați ȘI și apoi introduce pentru a le instala corect.

Pasul 6: Conectați-vă la Raspberry Pi

Numele de utilizator implicit al Raspberry Pi este pi, iar parola implicită este zmeură. Acestea sunt detaliile de autentificare implicite, iar la prima dvs. autentificare utilizați aceste detalii pentru a vă conecta la pi. Puteți schimba și aceste detalii oricând doriți.

Autentificare la Raspberry Pi

Pasul 7: Crearea unui spațiu suficient pe Raspbian pentru OpenCV

OpenCV capătă memorie mare, așa că trebuie să extindem sistemul de fișiere și să alocăm tot spațiul pe cardul de memorie. Vom merge la promptul de comandă al zmeurii și vom tasta următoarea comandă:

sudo raspi-config

Va apărea o fereastră și va arăta astfel:

Instrument de configurare

Acum, vom face clic pe Opțiuni avansate și acolo vom găsi o opțiune „Expand Filesystem”. Selectați acea opțiune.

Extindeți sistemul de fișiere

Vom apăsa pe introduce apoi apăsați butonul finalizarea buton. În acest stadiu, Raspberry Pi trebuie repornit pentru ca modificările să aibă efect. Tastați următoarea comandă pentru a o reporni:

sudo reboot

După repornire vom verifica dacă sistemul nostru de fișiere s-a extins și dacă tot spațiul este inclus în cardul SD sau nu. Prin executarea df -h comandă putem verifica dacă discul nostru s-a extins:

Cel care folosește un card micro SD de 8 GB poate folosi 50% din spațiul disponibil, deci șterge Wolfram Engine și LibreOffice poate elibera aproximativ 1 GB de spațiu. (Amintiți-vă că acest pas este opțional).

sudoapt-obține purjarewolfram-motor sudoapt-obține purjarelibreoffice* sudoapt-obține curat sudoapt-obține autoremove

Pasul 8: Instalarea dependențelor

Înainte de a merge pentru și dependențe, trebuie să actualizăm și să actualizăm pachetele existente care sunt instalate pe Pi:

sudo apt-get update

Atunci,

sudo apt-get upgrade

Acum, vom instala câteva instrumente de dezvoltare care ne vor ajuta în configurarea versiunii OpenCV:

sudoapt-obține instalareconstrui-esenţialcmakepachet-config

Pentru a efectua diferite operații pe imagini, trebuie să încărcăm mai multe formate de imagine de pe hard disk. Aceste formate includ JPEG, PNG etc. Pentru încărcarea acestor formate de imagine vom instala câteva pachete I / O:

sudoapt-obțineinstalarelibjpeg-devlibtiff5-devlibjasper-devlibpng12-dev

Împreună cu aceste pachete de imagini I / O vom instala și pachete video I / O. După instalarea acestor pachete video, vom putea încărca diferite formate de fișiere video.

sudoapt-obține instalarelibavcodec-devlibavformat-devlibswscale-devlibv4l-dev sudoapt-obține instalarelibxvidcore-devlibx264-dev

Biblioteca OpenCV însoțește un sub-modul numit highgui care este utilizat pentru a afișa imagini pe ecranul nostru și pentru a fabrica interfețe grafice esențiale. Înainte de a compila acel sub-modul, trebuie să instalăm biblioteca de dezvoltare GTK:

sudoapt-obține instalarelibgtk2.0-devlibgtk-3-dev

Mai multe operații matrice pot fi efectuate pe o imagine prin verificarea dimensiunii imaginii și apoi citirea valorilor pixelilor. De asemenea, putem converti acele valori ale pixelilor în formă binară și apoi putem modifica acele cifre binare pentru a regenera o imagine. În raspberry pi, avem unele limitări atunci când furnizăm intrare, prin urmare aceste biblioteci sunt importante și trebuie instalate. Prin urmare, aceste rezultate pot fi îmbunătățite prin instalarea unor dependențe suplimentare:

sudoapt-obține instalarelibatlas-baza-devgfortran

Unii oameni vor lucra la Python 2.7, iar alții vor lucra la Python 3. Fișierele antet ale Python 2.7 și Python 3 trebuie să fie instalate pentru a compila OpenCV împreună cu legările Python:

sudoapt-obține instalarepython2.7-devpython3-dev

În noua versiune a Raspbian Python 3 este deja instalată și poate apărea un mesaj la Terminalul Lx care să precizeze că „Python 3 este deja cea mai recentă versiune” . Acest pas este important deoarece ne putem confrunta cu erori în ceea ce privește fișierul antet denumit ca Python.h în timp ce executați comanda face pentru a compila OpenCV.

Pasul 9: Descărcarea codului sursă OpenCV

Pe măsură ce am terminat cu instalarea dependențelor, vom căuta folderul de arhivă al versiunii OpenCV 3.3.0 din directorul oficial al OpenCV.

CD ~ wget -SAU opencv.zip https://github.cu/Itseez/opencv/Arhiva/3.3.0.zip dezarhivațiopencv.zip

Instalăm întregul pachet de OpenCV, așa că trebuie să îl includem opencv_contrib de asemenea. Descărcați-l de pe site-ul oficial și apoi dezarhivați-l.

wget -SAU opencv_contrib.zip https://github.cu/Itseez/opencv_contrib/Arhiva/3.3.0.zip dezarhivațiopencv_contrib.zip

În timp ce descărcați aceste directoare, aveți în vedere un lucru: versiunea OpenCV și opencv_contrib ar trebui să fie aceleași, adică ar trebui să fie 3.3.0, altfel vor exista erori de compilare în timpul instalării.

Pasul 10: Python 2.7 sau Python 3?

Python 2.7 în funcție de performanță este mai bun decât python 3, dar în OpenCV nu există prea multe diferențe. Trebuie să instalăm pip pe Raspberry înainte de a compila OpenCV. Este un sistem de gestionare a pachetelor care este utilizat pentru a instala pachetele software utilizate în Python. Aceste pachete pot fi prezente în cel mai recent raspbian în mod implicit, dar este mai bine să îl verificați folosind următoarele comenzi.

wgethttps://bootstrap.pypa.I/obține-pip.py sudopitonobține-pip.py sudopython3obține-pip.py

După instalarea pipului, două pachete sunt foarte recomandate și trebuie instalate în timp ce lucrați la OpenCV. Primul este virtualenv și al doilea virtualenvwrapper. Nu putem importa OpenCV direct în Python, așa că vom crea un mediu virtual și apoi vom lucra în acel mediu. Un mediu virtual este un instrument excepțional care este utilizat pentru a păstra condițiile cerute de diverse proiecte în locuri discrete, creând medii Python separate pentru fiecare dintre ele.

sudopipinstalarevirtualenvvirtualenvwrapper sudorm -rf ~/.cache/pip

După instalarea acestor pachete, trebuie să le actualizăm ~/.profil care este fișierul ascuns în directorul nostru principal pentru a include următoarele linii la sfârșitul acestuia. Tastați următoarea comandă pentru a intra în director:

nano~/.profil

Când directorul este deschis derulați în jos și include următoarele linii:

# virtualenv și virtualenvwrapper exportWORKON_HOME=$ ACASĂ/.virtualenvs exportVIRTUALENVWRAPPER_PYTHON=/usr/a.m/python3 sursă /usr/local/a.m/virtualenvwrapper.SH

După includerea acestor linii, apăsați ctrl + x, salvați-l apăsând ȘI și ieși.

Director de acasă

De fiecare dată când lansăm terminalul și ne conectăm la Pi, acest fișier dot va fi încărcat automat pentru noi. Deoarece suntem deja conectați, vom introduce manual sursa ~ / .profil pentru a încărca conținutul fișierului.

Crearea mediului virtual Python: Trebuie să creăm un mediu virtual folosind python 2.7 și python 3.

mkvirtualenvCV -p python2

Se va crea un mediu numit CV pe Python 2.7. Oricine dorește să creeze un mediu pe Python 3 ar trebui să introducă comanda menționată mai jos:

mkvirtualenvCV -p python3

Verificarea faptului că ne aflăm în mediul virtual numit „cv”: Când repornim pi, nu vom rămâne într-un mediu virtual și trebuie să tastăm două comenzi menționate mai jos pentru a intra în modul mediu virtual.

sursă ~/.profil workonCV

Imaginea de mai jos indică faptul că nu suntem în modul mediu virtual:

LxTerminal

Deci, tastând cele două comenzi menționate mai sus, vom putea accesa mediul nostru virtual. Dacă dorim să părăsim mediul virtual, vom tasta dezactivați:

Lucrul în mediu virtual

Instalarea NumPy On Raspbian: Singura dependență de care avem nevoie pentru a instala OpenCV pe Raspberry este Numpy. Tastați comanda menționată mai jos pentru a instala Numpy pe Raspberry Pi. Instalarea va dura aproximativ 10 minute:

pipinstalareneclintit

Pasul 11: Compilarea și instalarea OpenCV

Vom compila și instala OpenCV în mediul virtual, deci asigurați-vă că lucrați în mediul virtual CV. Dacă nu suntem în mediul virtual, OpenCV nu va reuși să compileze. Acum, schimbați directorul în directorul principal, subdirector cv deschis 3.3 și apoi creați directorul de construire. După ce ați creat directorul de construcție, lipiți ultimele cinci linii în CMake director. Se va verifica pentru anumite biblioteci setate căi, versiuni python etc.

CD ~/opencv-3.3.0/ mkdir construi CD construi cmake -D CMAKE_BUILD_TYPE=ELIBERARE  -D CMAKE_INSTALL_PREFIX=/usr/local  -D INSTALL_PYTHON_EXAMPLES=PE  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/module  -D BUILD_EXAMPLES=PE ..

Pentru cei care utilizează Python 2.7, vor trebui să deruleze la ieșirea CMake și vor căuta secțiunea Python 2.7 și vor vedea dacă Numpy și căile pachetelor sunt configurate corect. Pentru cei care utilizează Python 3, vor verifica secțiunea Python 3 chiar sub secțiunea Python 2:

Verificarea secțiunii Python 2.7

Acum, suntem în sfârșit gata să compilăm OpenCV. Tastați comanda make și va începe procesul de compilare. Compilația va dura aproximativ patru ore, prin urmare, este preferabil să începeți compilarea înainte de a dormi noaptea, astfel încât atunci când vă treziți dimineața, OpenCV este compilat. Tastarea unei comenzi „face” va compila folosind un singur nucleu. Deși durează puțin, dar are o probabilitate mai mică de erori. Utilizarea comenzii make -j4 și make -j2 ar putea duce la supraîncălzirea Raspberry Pi și ar putea duce și la erori de compilare:

face

Compilație completă

Vom instala OpenCV 3 pe Raspberry Pi utilizând următoarea comandă. Rularea acestei comenzi va copia fișierele respective în locațiile lor:

sudo make install

Instalarea noastră va fi finalizată executând această comandă finală:

sudoldconfig

Câteva etape sunt lăsate acum când folosim Python 2.7 sau Python 3.

Pasul 12: Finalizarea instalării

Reveniți la directorul principal tastând cd ~.

Python 3: Vom lega simbolic legăturile OpenCV în CV-ul nostru din directorul Python 3 deoarece am compilat legăturile OpenCV și Python pentru Python 3.

CD ~/.virtualenvs/CV/lib/python3.5/site-pachete/ ln -s /usr/local/lib/python3.5/site-pachete/cv2.asa de cv2.asa de

Asta e!. Acum, am instalat OpenCV pe Raspberry Pi. O vom verifica acum în mediul virtual.

Pasul 13: Testarea OpenCV

Deschideți LxTerminal și scrieți sursă comandă urmată de workon comanda. Odată ce am intrat în modul mediu virtual, vom importa legături OpenCV tastând python și apoi vom importa cv2. Dacă nu există niciun mesaj de eroare, înseamnă că a fost importat cu succes.

sursă ~/.profil workonCV piton >>importcv2

După aceea, vom verifica versiunea OpenCV tastând următoarea comandă:

cv2.__versiune__

Testare]

Am instalat OpenCV pe Raspberry 3B +. Acum putem efectua numeroase operații de procesare a imaginilor în Python, cum ar fi detectarea cifrelor, recunoașterea feței etc.