Ako nainštalovať OpenCV na Raspberry Pi?

Musíme s obrázkom vykonať rôzne operácie, aby sme z neho vyťažili užitočné informácie. Tento proces aplikácie rôznych algoritmov na obrázok na získanie požadovaného výstupu sa teda nazýva Spracovanie obrazu . Niekedy je obraz na vstupe rozmazaný a chceme z neho získať údaje. Napríklad. Keď lupiči prídu chytiť bicykel alebo auto, väčšinou prídu na bicykli a na cestách sú nainštalované horné kamery, ktoré zachytávajú zábery incidentu. Potrebujeme poznať evidenčné číslo vozidla, na ktoré lupiči prídu, a dá sa to ľahko urobiť pomocou niektorých algoritmov spracovania obrazu. Na vykonanie spracovania obrazu na určitých obrázkoch musíme nainštalovať niektoré knižnice na hardvér, ktorý používame. Z týchto knižníc je najdôležitejšia OpenCV. OpenCV je možné inštalovať aj na PC a mikroprocesory. Raspberry Pi je mikroprocesor a používa sa v rôznych elektronických projektoch. Po nainštalovaní operačného systému na Raspberry Pi na ňom môžeme vykonávať rôzne úlohy spracovania obrazu. Inštalácia OpenCV na Raspberry Pi je zdĺhavá a hektická úloha. V tomto článku sa dozvieme, ako nainštalovať OpenCV na Raspberry Pi na vykonávanie rôznych operácií spracovania obrazu.



Detekcia tváre s OpenCV nainštalovaným na Raspberry Pi

Ako nastaviť Raspberry Pi a nakonfigurovať na ňom OpenCV?

Teraz poďme k nastaveniu Pi a vykonaniu operácií uvedených v ďalšom kroku, aby sme doň nainštalovali OpenCV. Inštalácia OpenCV na Pi je zdĺhavý proces a jej dokončenie trvá asi 4 hodiny. Pokiaľ máte nedostatok času, nezačnite inštaláciu, pozrite si tento návod, keď budete mať čas. Spolu s tým sa Pi zahrieva, keď je otočený ZAP dlho sa s ním budú robiť operácie, takže ho pri práci uchovávajte na chladnom mieste.



Krok 1: Použité komponenty

  • Súprava Raspberry Pi 3B +
  • Televízia s portom HDMI
  • Kábel HDMI
  • Drôtová počítačová myš

Krok 2: Výber modelu Raspberry Pi

Na trhu je k dispozícii niekoľko modelov malinovej pí. Okrem malinového pi nula môže byť preferovaný akýkoľvek model. Je to preto, lebo na Pi je nastavenie siete veľmi namáhavá práca. Dajú sa kúpiť najnovšie modely ako 3A +, 3B + alebo 4. Nový Raspberry Pi 3 je najrýchlejší a najdominantnejší gadget, aký doteraz Raspberry Pi Foundation vydala. V tomto projekte teda použijeme Raspberry Pi 3B +.



Raspberry Pi 3B +



Krok 3: Pripojenie periférnych zariadení

Po výbere Raspberry Pi pripojíme klávesnicu a myš k Raspberry Pi. Po ich pripojení pomocou kábla HDMI prepojte Pi s televíziou. Po vykonaní týchto pripojení sme pripravení pokračovať ďalej.

Krok 4: Výber operačného systému

Najskôr budeme potrebovať kartu SD s príslušným operačným systémom. Pri výbere OS dnes existujú rôzne alternatívy, od „konvenčných“ Raspbian po vyhradené pracovné rámce pre médiá a dokonca aj Windows 10 IoT. Nie je teda potrebné veľa aplikácií, preto by sme pre aplikáciu na streamovanie médií mali čo najviac ponechať centrálnu procesorovú jednotku (CPU) a pamäť s náhodným prístupom (RAM). Jedným z problémov je, že Arch Linux je odporúčaný pre ľudí, ktorí majú pomerne veľa Linuxových znalostí. Sú veľmi prvou líniou a pri zavádzaní aplikácií a knižníc tretích strán musíme neustále narážať na problémy. Ak je to teda vaše prvé zariadenie domáceho kina, odporúčame vám zvoliť si Raspbian Lite . Je riadený z príkazového riadku a bez veľkého rozsahu je navrhnutý tak, aby nepretržite bežal v režime „bez hlavy“, t. J. Je k nemu prístup úplne vzdialený cez systém bez potreby konzoly alebo obrazovky.

Raspbian Lite



Krok 5: Skontrolujte, či je malina Pi aktuálna

Udržiavajte zdroje svojho Pi aktuálne, inak bude zastaraný softvér spôsobovať problémy. Vo svojom počítači Pi aktivujte prehliadač Virtual Network Computing (VNC) a potom pripojte svoje zariadenie Raspberry Pi k prehliadaču VNC. Nižšie je uvedený odkaz na stiahnutie VNC a jeho následné pripojenie k Pi.

Prehliadač VNC

Teraz otvorte terminál a spustite nasledujúci príkaz:

sudo apt-get aktualizácia

Potom,

sudo apt-get upgrade

Bude nainštalovaných mnoho balíkov a na požiadanie stlačte A a potom Zadajte správne ich nainštalovať.

Krok 6: Prihláste sa na Raspberry Pi

Predvolené používateľské meno Raspberry Pi je pí, a predvolené heslo je malina. Toto sú predvolené prihlasovacie údaje a pri prvom prihlásení sa pomocou týchto údajov prihlásite do čísla pi. Tieto podrobnosti môžete tiež kedykoľvek zmeniť.

Prihláste sa na Raspberry Pi

Krok 7: Vytvorenie dostatočného priestoru na Raspbian pre OpenCV

OpenCV získava veľkú pamäť, takže musíme rozšíriť súborový systém a prideliť všetok priestor pamäťovej karte. Prejdeme na príkazový riadok maliny a napíšeme nasledujúci príkaz:

sudo raspi-config

Zobrazí sa okno a bude vyzerať takto:

Konfiguračný nástroj

Teraz klikneme na Advanced options a tam nájdeme možnosť „Expand Filesystem“. Vyberte túto možnosť.

Rozbaľte Systém súborov

Stlačíme Zadajte tlačidlo a potom stlačte Skončiť tlačidlo. V tejto fáze je potrebné reštartovať počítač Raspberry Pi, aby sa zmeny prejavili. Reštartujte počítač zadaním nasledujúceho príkazu:

sudo reštart

Po reštarte skontrolujeme, či sa náš súborový systém rozšíril a či je alebo nie je na SD karte zahrnutý všetok priestor. Vykonaním df -h príkaz môžeme overiť, že sa náš disk rozšíril:

Ten, kto používa 8 GB micro SD kartu, môže využívať 50% dostupného priestoru, takže odstránenie Wolfram Engine a LibreOffice môže uvoľniť asi 1 GB miesta. (Pamätajte, že tento krok je voliteľný).

sudotrefný-dostať očistiťwolfram-motor sudotrefný-dostať očistiťlibreoffice* sudotrefný-dostať čistý sudotrefný-dostať autoremove

Krok 8: Inštalácia závislostí

Predtým, ako pôjdeme do a závislostí, musíme aktualizovať a upgradovať existujúce balíčky, ktoré sú nainštalované na Pi:

sudo apt-get aktualizácia

Potom,

sudo apt-get upgrade

Teraz nainštalujeme niekoľko vývojových nástrojov, ktoré nám pomôžu pri konfigurácii zostavy OpenCV:

sudotrefný-dostať Inštaláciastavať-nevyhnutnécmakepkg-konfigur

Aby sme mohli vykonať rôzne operácie s obrázkami, musíme z pevného disku načítať niekoľko obrazových formátov. Medzi tieto formáty patria JPEG, PNG atď. Na načítanie týchto obrazových formátov nainštalujeme niekoľko I / O balíkov:

sudotrefný-dostaťInštalácialibjpeg-devlibtiff5-devlibjasper-devlibpng12-dev

Spolu s týmito obrazovými I / O balíkmi nainštalujeme aj video I / O balíčky. Po nainštalovaní týchto video balíkov budeme môcť načítať rôzne formáty video súborov.

sudotrefný-dostať Inštalácialibavcodec-devlibavformat-devlibswscale-devlibv4l-dev sudotrefný-dostať Inštalácialibxvidcore-devlibx264-dev

Knižnica OpenCV sprevádza podmodul s názvom highgui ktorý sa používa na zobrazovanie obrázkov na našu obrazovku a na výrobu základných grafických používateľských rozhraní. Pred kompiláciou tohto podmodulu musíme nainštalovať vývojovú knižnicu GTK:

sudotrefný-dostať Inštalácialibgtk2.0-devlibgtk-3-dev

S obrázkom je možné vykonať niekoľko maticových operácií tak, že skontrolujete jeho veľkosť a potom prečítate hodnoty pixelov. Tieto hodnoty pixelov môžeme tiež previesť do binárnej formy a potom tieto binárne číslice upraviť tak, aby sa obrázok obnovil. V malinovej pi máme určité obmedzenia pri poskytovaní vstupu, preto sú tieto knižnice dôležité a je potrebné ich nainštalovať. Tieto výsledky možno preto vylepšiť inštaláciou niektorých ďalších závislostí:

sudotrefný-dostať Inštalácialibatlas-základňa-devgfortran

Niektorí ľudia budú pracovať na Pythone 2.7 a iní na Pythone 3. Pre kompiláciu OpenCV a väzieb Pythonu je potrebné nainštalovať hlavičkové súbory Pythonu 2.7 a Pythonu 3:

sudotrefný-dostať Inštaláciapython2.7-devpython3-dev

V novej verzii Raspbian je Python 3 už nainštalovaný a v Lx Terminal sa môže zobraziť správa, ktorá to bude uvádzať „Python 3 je už najnovšia verzia“ . Tento krok je dôležitý, pretože môžeme čeliť chybe, pokiaľ ide o súbor hlavičky pomenovaný ako Python.h pri spustení príkazu urobiť zostaviť OpenCV.

Krok 9: Stiahnutie zdrojového kódu OpenCV

Po dokončení inštalácie závislostí budeme hľadať archívny priečinok OpenCV verzie 3.3.0 z oficiálneho adresára OpenCV.

CD ~ wget -ALEBO opencv.PSČ https://github.s/Itseez/opencv/archív/3.3.0.zip rozbaliťopencv.PSČ

Inštalujeme celý balík OpenCV, takže musíme zahrnúť opencv_contrib tiež. Stiahnite si ho z oficiálnej stránky a potom ho rozbaľte.

wget -ALEBO opencv_contrib.PSČ https://github.s/Itseez/opencv_contrib/archív/3.3.0.zip rozbaliťopencv_contrib.PSČ

Pri sťahovaní týchto adresárov nezabudnite na jednu vec - verziu OpenCV a opencv_contrib by mali byť rovnaké, tj. mali by byť 3.3.0, inak sa počas inštalácie vyskytnú chyby pri kompilácii.

Krok 10: Python 2.7 alebo Python 3?

Výkonovo výhodný python 2.7 je lepší ako python 3, ale v OpenCV nie je veľký rozdiel. Musíme nainštalovať pip na Raspberry pred kompiláciou OpenCV. Jedná sa o systém správy balíkov, ktorý sa používa na inštaláciu softvérových balíkov používaných v Pythone. Tieto balíčky môžu byť v najnovšej raspbian predvolene, ale je lepšie ich overiť pomocou nasledujúcich príkazov.

wgethttps://bootstrap.pypa.I/dostať-pip.py sudopytóndostať-pip.py sudopython3dostať-pip.py

Po inštalácii pipu sa veľmi odporúčajú dva balíky, ktoré je potrebné nainštalovať pri práci na OpenCV. Prvý je virtualenv a druhý virtualenvwrapper. Nemôžeme importovať OpenCV priamo do Pythonu, takže vytvoríme virtuálne prostredie a potom v ňom pracujeme. Virtuálne prostredie je výnimočný nástroj, ktorý sa používa na udržanie podmienok vyžadovaných rôznymi projektmi na samostatných miestach vytvorením samostatných prostredí Pythonu pre každé z nich.

sudopipInštaláciavirtualenvvirtualenvwrapper sudorm -rf ~/. cache/pip

Po inštalácii týchto balíkov musíme aktualizovať naše ~/.profil súbor, ktorý je skrytým súborom v našom domovskom adresári a na konci ktorého bude obsahovať nasledujúce riadky. Zadajte nasledujúci príkaz do adresára:

nano~/.profil

Po otvorení adresára sa posuňte nadol a obsahuje nasledujúce riadky:

# virtualenv a virtualenvwrapper exportWORKON_HOME=$ DOMOV/.virtualenvs exportVIRTUALENVWRAPPER_PYTHON=/usr/am/python3 zdroj /usr/miestne/am/virtualenvwrapper.sh

Po zahrnutí týchto riadkov stlačte ctrl + x, uložte ho stlačením A a výstup.

Domovský adresár

Kedykoľvek spustíme terminál a prihlásime sa do nášho Pi, tento bodkový súbor sa nám automaticky načíta. Pretože sme už prihlásení, písali by sme ručne zdroj ~ / .profil načítať obsah súboru.

Vytvorenie virtuálneho prostredia Pythonu: Potrebujeme vytvoriť virtuálne prostredie pomocou pythonu 2.7 a pythonu 3.

mkvirtualenvživotopis -p python2

Vytvorí prostredie s názvom životopis v Pythone 2.7. Každý, kto chce vytvoriť prostredie v Pythone 3, by mal zadať príkaz uvedený nižšie:

mkvirtualenvživotopis -p python3

Overenie, či sa nachádzame vo virtuálnom prostredí pomenovanom ako „cv“: Keď reštartujeme pí, nezostaneme vo virtuálnom prostredí a do režimu virtuálneho prostredia musíme zadať dva nižšie uvedené príkazy.

zdroj ~/.profil pracovať naživotopis

Obrázok nižšie naznačuje, že nie sme v režime virtuálneho prostredia:

LxTerminál

Takže zadaním dvoch vyššie spomenutých príkazov budeme mať prístup do nášho virtuálneho prostredia. Ak chceme opustiť virtuálne prostredie, napíšeme deaktivovať:

Práca vo virtuálnom prostredí

Inštalácia NumPy na Raspbian: Jedinou závislosťou, ktorú potrebujeme na inštaláciu OpenCV na Raspberry, je Numpy. Zadajte príkaz uvedený nižšie a nainštalujte Numpy na Raspberry Pi. Inštalácia bude trvať približne 10 minút:

pipInštalácianumpy

Krok 11: Kompilácia a inštalácia OpenCV

Zostavíme a nainštalujeme OpenCV vo virtuálnom prostredí, takže sa uistite, že pracujete vo virtuálnom prostredí CV. Ak nie sme vo virtuálnom prostredí, OpenCV sa nepodarí zostaviť. Teraz zmeňte adresár na domovský adresár, podadresár otvorené cv 3.3 a potom vytvorte adresár zostavenia. Po vytvorení adresára na zostavenie vložte posledných päť riadkov do priečinka CMake adresár. Skontroluje určité cesty nastavených knižníc, verzie pythonu atď.

CD ~/opencv-3.3.0/ mkdir stavať CD stavať cmake -D CMAKE_BUILD_TYPE=UVOĽNENIE  -D CMAKE_INSTALL_PREFIX=/usr/miestne  -D INSTALL_PYTHON_EXAMPLES=ZAP  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modulov  -D BUILD_EXAMPLES=ZAP ..

Pre tých, ktorí používajú Python 2.7, budú musieť prejsť na výstup CMake a vyhľadať časť Python 2.7 a zistiť, či sú Numpy a cesty balíkov správne nakonfigurované. Pre tých, ktorí používajú Python 3, skontrolujú sekciu python 3 priamo pod sekciou Python 2:

Kontrola sekcie Python 2.7

Teraz sme konečne pripravení zostaviť OpenCV. Zadajte príkaz make a spustí sa proces kompilácie. Zostavenie bude teda trvať približne štyri hodiny. Je lepšie začať kompiláciu pred nočným spánkom, aby sa po rannom prebudení zostavil OpenCV. Zadaním jedného príkazu „make“ sa kompiluje iba jedno jadro. Aj keď je to trochu časovo náročné, ale má menšiu pravdepodobnosť chýb. Použitie príkazov make -j4 a make -j2 môže viesť k prehriatiu Raspberry Pi a tiež k chybám kompilácie:

urobiť

Kompilácia je dokončená

OpenCV 3 nainštalujeme na Raspberry Pi pomocou nasledujúceho príkazu. Spustením tohto príkazu sa príslušné súbory skopírujú do ich umiestnení:

sudo urobiť inštaláciu

Naša inštalácia bude dokončená spustením tohto posledného príkazu:

sudoldconfig

Teraz, keď používame Python 2.7 alebo Python 3, zostáva niekoľko krokov.

Krok 12: Dokončenie inštalácie

Vráťte sa do domovského adresára zadaním cd ~.

Python 3: Symbolicky prepojíme väzby OpenCV do nášho súboru cv v adresári python 3, pretože sme zostavili väzby OpenCV a python pre python 3.

CD ~/.virtualenvs/životopis/lib/python3.5/stránky-balíkov/ ln -s /usr/miestne/lib/python3.5/stránky-balíkov/cv2.takže cv2.takže

To je všetko !. Teraz sme nainštalovali OpenCV na Raspberry Pi. Teraz to skontrolujeme vo virtuálnom prostredí.

Krok 13: Testovanie OpenCV

Otvorte LxTerminal a napíšte zdroj príkaz nasledovaný príkazom pracovať na príkaz. Keď sme vstúpili do režimu virtuálneho prostredia, importujeme väzby OpenCV zadaním výrazu python a následným importom cv2. Ak sa nezobrazí žiadna chybová správa, znamená to, že bola úspešne importovaná.

zdroj ~/.profil pracovať naživotopis pytón >>dovozcv2

Potom skontrolujeme našu verziu OpenCV zadaním nasledujúceho príkazu:

cv2.__ verzia__

Testovanie]

Inštalovali sme OpenCV na Raspberry 3B +. Teraz môžeme v Pythone vykonávať množstvo operácií spracovania obrazu, ako sú Digit Detection, Face Recognition atď.