Com instal·lar OpenCV a Raspberry Pi?

Hem de realitzar diferents operacions sobre una imatge per extreure’n informació útil. Per tant, s’anomena aquest procés d’aplicació de diferents algoritmes a una imatge per obtenir la sortida desitjada Processament d'imatge . De vegades, la imatge de l'entrada queda borrosa i volem adquirir-ne dades. Per exemple. Quan els lladres vénen a arrabassar la bicicleta o el cotxe, la majoria vénen a la moto i s’instal·len càmeres aèries a les carreteres que capturen les imatges de l’incident. Hem de conèixer el número de matrícula d’aquest vehicle al qual vénen els lladres i es pot fer fàcilment mitjançant alguns algorismes de processament d’imatges. Per realitzar el processament d’imatges en determinades imatges, hem d’instal·lar algunes biblioteques al maquinari que estem utilitzant. Entre aquestes biblioteques, la més important és OpenCV. OpenCV també es pot instal·lar en ordinadors i microprocessadors. Raspberry Pi és un microprocessador que s’utilitza en diversos projectes electrònics. Després d’instal·lar el sistema operatiu a Raspberry Pi, podem realitzar diverses tasques de processament d’imatges. Instal·lar l’OpenCV al Raspberry Pi és una tasca llarga i trepidant. En aquest article, aprendrem a instal·lar OpenCV a Raspberry Pi per realitzar diferents operacions de processament d’imatges.



Detecció de cares amb OpenCV instal·lat a Raspberry Pi

Com es pot configurar Raspberry Pi i configurar-hi OpenCV?

Ara, anem cap a la configuració de Pi i a fer les operacions esmentades pas a pas per instal·lar-hi OpenCV. Instal·lar OpenCV a Pi és un procés llarg i triga unes 4 hores a completar-se, de manera que, si teniu poc temps, no inicieu la instal·lació, consulteu aquest tutorial quan estigueu lliure. Juntament amb això, el Pi s'escalfa quan s'ha girat ACTIVAT durant molt de temps i operacions de presa de temps s’hi fan, així que mantingueu-lo en un lloc fresc quan hi estigueu treballant.



Pas 1: components utilitzats

  • Kit Raspberry Pi 3B +
  • Televisió amb port HDMI
  • Cable HDMI
  • Ratolí d’ordinador amb cable

Pas 2: Selecció del model Raspberry Pi

Hi ha diversos models de raspberry pi disponibles al mercat. Excepte el raspberry pi zero, es pot preferir qualsevol model. Això es deu al fet que a Pi zero la creació d’una xarxa és una feina molt cansada. Es poden comprar els darrers models com 3A +, 3B + o 4. El nou Raspberry Pi 3 és el gadget més ràpid i dominant que ha llançat Raspberry Pi Foundation fins ara. Per tant, en aquest projecte utilitzarem el Raspberry Pi 3B +.



Raspberry Pi 3B +



Pas 3: Connexió dels perifèrics

Després de triar Raspberry Pi, connectarem el teclat i el ratolí al Raspberry Pi. Després de connectar-los, utilitzeu el cable HDMI per connectar Pi amb el televisor. Després de fer aquestes connexions, estem preparats per continuar més endavant.

Pas 4: triar el sistema operatiu

En primer lloc, necessitarem una targeta SD amb un sistema operatiu adequat. A l’hora d’escollir el sistema operatiu, avui en dia hi ha diverses alternatives, des de Raspbian “convencionals” fins a marcs dedicats de treball de suports i fins i tot Windows 10 IoT. No hi ha necessitat de moltes aplicacions, per tant, hauríem d'abandonar la unitat central de processament (CPU) i la memòria d'accés aleatori (RAM) tant com puguem per a l'aplicació de transmissió de mitjans. Un problema és que Arch Linux es recomana a persones que tinguin força coneixement de Linux. Són de primera línia i estem obligats a continuar tenint problemes quan introduïm biblioteques i aplicacions de tercers. Per tant, si aquest és el vostre primer establiment de cinema a casa, us recomanem que escolliu Raspbian Lite . Funciona des de la línia d’ordres i, sense cap mena d’extensió, es pot dissenyar per continuar funcionant en mode “sense cap”, és a dir, s’accedeix completament de forma remota a través del sistema sense necessitat de consola ni pantalla.

Raspbian Lite



Pas 5: assegureu-vos que Raspberry Pi estigui al dia

Mantingueu les fonts del Pi actualitzades en cas contrari, ja que el programari obsolet provocarà alguns problemes. Activeu el visualitzador d’informàtica de xarxa virtual (VNC) al vostre Pi i, a continuació, connecteu el vostre Raspberry Pi amb el visor VNC. L’enllaç es proporciona a continuació per descarregar VNC i després connectar-lo amb Pi.

Visor VNC

Ara, obriu el terminal i executeu l'ordre següent:

sudo apt-get update

Aleshores,

sudo apt-get upgrade

S'instal·laran molts paquets i, si se us demana, premeu I i llavors Entra per instal·lar-los correctament.

Pas 6: inicieu la sessió a Raspberry Pi

El nom d’usuari per defecte del Raspberry Pi és Pi, i la contrasenya per defecte és gerds. Aquests són els detalls d’inici de sessió predeterminats i utilitzeu-los al vostre primer inici de sessió per iniciar la sessió a pi. També podeu canviar aquests detalls quan vulgueu.

Inicieu la sessió a Raspberry Pi

Pas 7: Creeu prou espai a Raspbian per a OpenCV

OpenCV adquireix una gran memòria, de manera que hem d’ampliar el sistema de fitxers i assignar tot l’espai a la targeta de memòria. Anirem a l’indicador d’ordres de raspberry i escrivirem l’ordre següent:

sudo raspi-config

Apareixerà una finestra que tindrà el següent aspecte:

Eina de configuració

Ara farem clic a Opcions avançades i allà trobarem l'opció 'Amplia el sistema de fitxers'. Seleccioneu aquesta opció.

Expandeix el sistema de fitxers

Premeu el botó Entra i, a continuació, premeu el botó Acabar botó. En aquesta etapa, cal reiniciar el nostre Raspberry Pi perquè els canvis entrin en vigor. Escriviu l'ordre següent per reiniciar-lo:

sudo reiniciar

Després de reiniciar, comprovarem si el nostre sistema de fitxers s'ha ampliat i si tot l'espai està inclòs a la targeta SD o no. En executar df -h Comanda podem verificar que el nostre disc s'ha expandit:

Aquell que utilitzi una targeta micro SD de 8 GB pot estar utilitzant el 50% de l’espai disponible, de manera que s’elimina Wolfram Engine i LibreOffice pot alliberar al voltant d'1 GB d'espai. (Recordeu que aquest pas és opcional).

suoapte-aconseguir purgawolfram-motor suoapte-aconseguir purgalibreoffice* suoapte-aconseguir net suoapte-aconseguir autoremove

Pas 8: Instal·lació de dependències

Abans d’anar a buscar dependències, hem d’actualitzar i actualitzar els paquets existents instal·lats a Pi:

sudo apt-get update

Aleshores,

sudo apt-get upgrade

Ara, instal·larem algunes eines de desenvolupament que ens ajudaran a configurar la compilació d’OpenCV:

suoapte-aconseguir instal·larconstruir-essencialcmakepaquet-config

Per realitzar les diferents operacions de les imatges, hem de carregar els diversos formats d’imatges des del disc dur. Aquests formats inclouen JPEG, PNG, etc. Per carregar aquests formats d'imatge, instal·larem alguns paquets d'E / S:

suoapte-aconseguirinstal·larlibjpeg-devlibtiff5-devlibjasper-devlibpng12-dev

Juntament amb aquests paquets d'E / S d'imatges, també instal·larem paquets d'E / S de vídeo. Després d’instal·lar aquests paquets de vídeo, podrem carregar diversos formats de fitxer de vídeo.

suoapte-aconseguir instal·larlibavcodec-devlibavformat-devlibswscale-devlibv4l-dev suoapte-aconseguir instal·larlibxvidcore-devlibx264-dev

La biblioteca OpenCV acompanya un submòdul anomenat highgui que s’utilitza per mostrar imatges a la nostra pantalla i fabricar GUI essencials. Abans de compilar aquest submòdul, hem d’instal·lar la biblioteca de desenvolupament GTK:

suoapte-aconseguir instal·larlibgtk2.0-devlibgtk-3-dev

Es poden realitzar diverses operacions matricials en una imatge comprovant la mida de la imatge i després llegint els valors dels píxels. També podem convertir aquests valors de píxels en forma binària i després modificar els dígits binaris per regenerar una imatge. A raspberry pi, tenim algunes limitacions a l’hora de proporcionar entrada, de manera que aquestes biblioteques són importants i cal instal·lar-les. Per tant, aquests resultats es poden millorar instal·lant algunes dependències addicionals:

suoapte-aconseguir instal·larlibatlas-base-devgfortran

Algunes persones treballaran a Python 2.7 i d’altres treballaran a Python 3. Els fitxers de capçalera de Python 2.7 i Python 3 han d’estar instal·lats per compilar OpenCV juntament amb els enllaços Python:

suoapte-aconseguir instal·larpython2.7-devpython3-dev

A la nova versió de Raspbian Python 3 ja està instal·lat i pot aparèixer un missatge a la terminal Lx que ho indiqui 'Python 3 ja és l'última versió' . Aquest pas és important perquè ens podem enfrontar a errors relacionats amb el fitxer de capçalera anomenat com Python.h mentre s'executa l'ordre fer per compilar OpenCV.

Pas 9: descàrrega del codi font OpenCV

Quan acabem d’instal·lar les dependències, buscarem la carpeta d’arxiu d’OpenCV versió 3.3.0 del directori oficial d’OpenCV.

cd ~ wget -O opencv.zip https://github.amb/Itseez/opencv/Arxiu/3.3.0.zip descomprimiropencv.zip

Instal·lem tot el paquet d’OpenCV, de manera que hem d’incloure-ho opencv_contrib també. Baixeu-lo des del lloc oficial i, a continuació, descomprimiu-lo.

wget -O opencv_contrib.zip https://github.amb/Itseez/opencv_contrib/Arxiu/3.3.0.zip descomprimiropencv_contrib.zip

Mentre descarregueu aquests directoris, tingueu en compte que la versió d’OpenCV i opencv_contrib haurien de ser els mateixos, és a dir, haurien de ser 3.3.0 en cas contrari, hi haurà errors de compilació durant la instal·lació.

Pas 10: Python 2.7 o Python 3?

Python 2.7 en funció del rendiment és millor que Python 3, però a OpenCV no hi ha molta diferència. Hem d’instal·lar-lo pip a Raspberry abans de compilar OpenCV. És un sistema de gestió de paquets que s’utilitza per instal·lar els paquets de programari que s’utilitzen a Python. Aquests paquets poden estar presents per defecte en l'últim raspbian, però és millor verificar-los utilitzant les ordres següents.

wgethttps://arrencada.pypa.I/aconseguir-pip.py suopitóaconseguir-pip.py suopython3aconseguir-pip.py

Després d’instal·lar pip dos paquets són molt recomanables i cal instal·lar-los mentre treballeu a OpenCV. El primer és virtualenv i el segon virtualenvwrapper. No podem importar OpenCV directament a Python, de manera que crearem un entorn virtual i després treballarem en aquest entorn. Un entorn virtual és una eina excepcional que s’utilitza per mantenir les condicions requerides per diversos projectes en llocs discrets creant entorns Python separats per a cadascun d’ells.

suopipinstal·larvirtualenvvirtualenvwrapper suorm -rf ~/.cache/pip

Després d’instal·lar aquests paquets, hem d’actualitzar el nostre ~/.Perfil que és el fitxer amagat al nostre directori inicial per incloure les línies següents al final. Escriviu l'ordre següent per entrar al directori:

nano~/.Perfil

Quan s'obre el directori, desplaceu-vos cap avall i inclou les línies següents:

# virtualenv i virtualenvwrapper exportacióWORKON_HOME=$ INICI/.virtualenvs exportacióVIRTUALENVWRAPPER_PYTHON=/usr/sóc/python3 font /usr/local/sóc/virtualenvwrapper.sh

Després d'incloure aquestes línies, premeu ctrl + x, deseu-lo prement I i sortir.

Directori inicial

Sempre que iniciem el terminal i iniciem sessió al nostre Pi, aquest fitxer de punts es carregarà automàticament. Com que ja hem iniciat la sessió, escriuríem manualment font ~ / .perfil per carregar el contingut del fitxer.

Creació d'un entorn virtual Python: Hem de crear un entorn virtual amb Python 2.7 i Python 3.

mkvirtualenvcv -pàg python2

Es crearà un entorn anomenat cv a Python 2.7. Qualsevol persona que vulgui crear un entorn a Python 3 ha d'escriure l'ordre que s'esmenta a continuació:

mkvirtualenvcv -pàg python3

Verificació que ens trobem a l'entorn virtual anomenat com a 'cv': Quan reiniciem el pi, no romandrem en un entorn virtual i hem d’escriure dues ordres que s’esmenten a continuació per passar al mode d’entorn virtual.

font ~/.Perfil treballar encv

La imatge següent indica que no estem en mode d'entorn virtual:

LxTerminal

Per tant, en escriure les dues ordres esmentades anteriorment podrem accedir al nostre entorn virtual. Si volem sortir de l’entorn virtual escrivim desactivar:

Treballant en entorn virtual

Instal·lació de NumPy On Raspbian: L'única dependència que necessitem per instal·lar OpenCV a Raspberry és Numpy. Escriviu l'ordre esmentada a continuació per instal·lar Numpy a Raspberry Pi. La instal·lació durarà aproximadament 10 minuts:

pipinstal·larnumpy

Pas 11: Compilar i instal·lar OpenCV

Recopilarem i instal·larem OpenCV a l’entorn virtual, així que assegureu-vos que esteu treballant a l’entorn virtual de CV. Si no som a l’entorn virtual, l’OpenCV no compilarà. Ara, canvieu el directori al directori inicial, subdirectori cv obert 3.3 i, a continuació, feu el directori de compilació. Després de crear el directori de compilació, enganxeu les darreres cinc línies al fitxer CMake directori. Comprovarà si hi ha certes biblioteques establertes camins d'accés, versions de Python, etc.

cd ~/opencv-3.3.0/ mkdir construir cd construir cmake -D CMAKE_BUILD_TYPE=LLANÇAMENT  -D CMAKE_INSTALL_PREFIX=/usr/local  -D INSTALL_PYTHON_EXAMPLES=ACTIVAT  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/mòduls  -D BUILD_EXAMPLES=ACTIVAT ..

Per a aquells que estiguin utilitzant Python 2.7, hauran de desplaçar-se fins a la sortida CMake i buscaran la secció Python 2.7 i comprovaran si Numpy i els camins dels paquets estan configurats correctament. Per a aquells que utilitzen Python 3, comprovaran la secció Python 3 just a sota de la secció Python 2:

Comprovació de la secció Python 2.7

Ara, per fi, estem preparats per compilar OpenCV. Escriviu l'ordre make i s'iniciarà el procés de compilació. La compilació trigarà aproximadament quatre hores, per tant, és preferible iniciar la recopilació abans de dormir a la nit, de manera que quan es desperti al matí es compili OpenCV. Si escriviu una ordre 'make', es compilarà només amb un nucli. Tot i que dura un poc el procés, però té menys probabilitats d'errors. Si feu servir l’ordre make -j4 i make -j2, podríeu provocar un sobreescalfament del Raspberry Pi i també produir errors de compilació:

fer

Recopilació completa

Instal·larem OpenCV 3 a Raspberry Pi mitjançant l'ordre següent. Si executeu aquesta ordre, copieu els fitxers respectius a les seves ubicacions:

sudo make install

La nostra instal·lació es completarà executant aquesta ordre final:

suoldconfig

Ara queden un parell de passos quan fem servir Python 2.7 o Python 3.

Pas 12: Finalització de la instal·lació

Torneu al directori inicial escrivint cd ~.

Python 3: Enllaçarem simbòlicament les vinculacions OpenCV al nostre cv al directori python 3 perquè hem compilat les vinculacions OpenCV i python per al python 3.

cd ~/.virtualenvs/cv/lib/python3.5/lloc-paquets/ ln -s /usr/local/lib/python3.5/lloc-paquets/cv2.tan cv2.tan

Això és!. Ara hem instal·lat OpenCV a Raspberry Pi. Ara ho comprovarem a l’entorn virtual.

Pas 13: Prova d'OpenCV

Obriu el LxTerminal i escriviu el fitxer font ordre seguit de la treballar en comandament. A mesura que hem entrat al mode d'entorn virtual, importarem vincles OpenCV escrivint python i després importarem cv2. Si no hi ha missatge d'error, vol dir que s'ha importat correctament.

font ~/.Perfil treballar encv pitó >>importaciócv2

Després d'això, comprovarem la nostra versió d'OpenCV escrivint l'ordre següent:

cv2.__ versió__

Proves]

Hem instal·lat OpenCV a Raspberry 3B +. Ara podem realitzar nombroses operacions de processament d’imatges a Python, com ara la detecció de dígits, el reconeixement de cares, etc.