Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
In deze instructable laat ik zien hoe je gezicht en ogen kunt detecteren met Raspberry Pi en opencv. Dit is mijn eerste instructable op opencv. Ik heb veel tutorials gevolgd om open cv in Raspberry op te zetten, maar elke keer stuitte ik op enkele fouten. Hoe dan ook, ik heb die fouten opgelost en gedacht om instructable te schrijven, zodat iedereen het zonder enige moeite kan installeren
Dingen die nodig zijn:
1. Raspberry pi nul
2. SD-kaart
3. Cameramodule
Dit installatieproces duurt meer dan 13 uur, dus plan de installatie dienovereenkomstig
Stap 1: Download en installeer Raspbian Image
Download raspbian stretch met bureaubladafbeelding van de raspberry pi-website
www.raspberrypi.org/downloads/raspbian
Plaats vervolgens de geheugenkaart in uw laptop en brand de raspbian-afbeelding met behulp van de etstool
Download ethcher hier
Nadat je de afbeelding hebt gebrand, steek je de geheugenkaart in je Raspberry Pi en zet je de Raspberry aan
Stap 2: Opencv instellen
Na het opstartproces opent u de terminal en volgt u de stappen om opencv te installeren en een virtuele omgeving in te stellen voor opencv
Stappen:
1. Elke keer dat u een nieuwe installatie start, is het beter om bestaande pakketten te upgraden
$ sudo apt-get update
$ sudo apt-get upgrade
Tijd: 2m 30 sec
2. Installeer vervolgens ontwikkelaarstools
$ sudo apt-get install build-essentiële cmake pkg-config
Tijd: 50 sec
3. Pak nu de benodigde image I/O-pakketten
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
Tijd: 37 sec
4. Video I/O-pakketten
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
Tijd: 36 sec
5. Installeer GTK-ontwikkeling
$ sudo apt-get install libgtk2.0-dev
Tijd: 2m 57s
6. Optimalisatiepakketten
$ sudo apt-get install libatlas-base-dev gfortran
Tijd: 1 minuut
7. Installeer nu python 2.7 als het er niet is. In mijn geval was het al geïnstalleerd, maar controleer nog steeds
$ sudo apt-get install python2.7-dev
Tijd: 55 sec
8. Download nu de opencv-bron en pak deze uit
$ cd ~
$ wget -O opencv.zip
$ opencv.zip uitpakken
Tijd: 1m 58 sec
9. De opencv_contrib-repository downloaden
$ wget -O opencv_contrib.zip
$ unzip opencv_contrib.zip
Tijd: 1m 5sec
10. Nu zijn opencv en opencv_contrib uitgevouwen verwijder hun zip-bestanden om wat ruimte te besparen
$ rm opencv.zip opencv_contrib.zip
Tijd: 2 sec
11. Installeer nu pip
$ wget
$ sudo python get-pip.py
Tijd: 50 sec
12. Installeer virtualenv en virtualenvwrapper, hierdoor kunnen we aparte, geïsoleerde python-omgevingen creëren voor onze toekomstige projecten
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip
Tijd: 30 sec
13. Na die installatie, open ~/.profile
$ nano ~/.profiel
en voeg deze regels toe aan de onderkant van het bestand
# virtualenv en virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs bron /usr/local/bin/virtualenvwrapper.sh
Bron nu uw ~/.profile om de wijzigingen opnieuw te laden
$ bron ~/.profile
Tijd: 20 sec
14. Maak nu een virtuele python-omgeving met de naam cv
$ mkvirtualenv cv
Tijd: 10sec
15. De volgende stap is om numpy te installeren. Dit duurt minimaal een half uur, dus je kunt wat koffie en broodjes krijgen
$ pip installatie numpy
Tijd: 36m
16. Compileer en installeer nu opencv en zorg ervoor dat u zich in de virtuele cv-omgeving bevindt door deze opdracht te gebruiken:
$ werk aan cv
en stel vervolgens de build in met Cmake
$ cd ~/opencv-3.0.0/
$ mkdir build $ cd build $ cmake -D CMAKE_BUILD_TYPE=RELEASE / -D CMAKE_INSTALL_PREFIX=/usr/local / -D INSTALL_C_EXAMPLES=ON / -D INSTALL_PYTHON_EXAMPLES=ON / -D OPENCV_EXTRA_MODULES_Cv=~ D BUILD_EXAMPLES=AAN -D ENABLE_PRECOMPILED_HEADERS=UIT..
Tijd: 5 minuten
17. Nu is build ingesteld, voer make uit om het compilatieproces te starten. Dit gaat even duren, dus je kunt dit een nachtje laten draaien
$ maken
In mijn geval gaf 'make' me een fout die te maken had met ffpmeg. Na veel zoeken heb ik de oplossing gevonden. Ga naar de map opencv 3.0 en vervolgens naar modules en vervolgens naar videoio, ga naar src en vervang de cap_ffpmeg_impl.hpp door dit bestand
github.com/opencv/opencv/blob/f88e9a748a37e5df00912524e590fb295e7dab70/modules/videoio/src/cap_ffmpeg_impl.hpp en voer make opnieuw uit
Tijd: 13 uur
Als het zonder fouten is gecompileerd, installeer het dan op raspberry pi met:
$ sudo make install
$ sudo ldconfig
Tijd: 2 min 30 sec
18. Na het voltooien van stap 17 zouden uw opencv-bindingen in /usr/local/lib/python-2.7/site-packages moeten staan. Verifieer dit door dit te gebruiken
$ ls -l /usr/local/lib/python2.7/site-packages
totaal 1549 -rw-r--r-- 1 wortelstok 1677024 3 dec 09:44 cv2.so
19. Het enige wat nu nog over is, is een sym-link van het cv2.so-bestand naar de site-packages-directory van de cv-omgeving
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
20. Controleer uw opencv-installatie met behulp van:
$ werk aan cv
$ python >>> cv2 importeren >>> cv2._version_ '3.0.0' >>>
Stap 3: Gezichts- en oogdetectie
Laten we nu gezichtsdetectie proberen
Het eerste wat u moet doen, is de camera inschakelen door te gebruiken:
$ sudo raspi-config
Dit zal een configuratiescherm oproepen. Gebruik je pijltjestoetsen om omlaag te scrollen naar Optie 5: Camera inschakelen, druk op Enter om de camera in te schakelen, en pijl naar beneden naar de knop Voltooien en druk nogmaals op Enter. Ten slotte moet je je Raspberry Pi opnieuw opstarten om de configuratie van kracht te laten worden.
Installeer nu picamera[array] in cv-omgeving. Zorg ervoor dat u zich in de cv-omgeving bevindt. Als je je pi opnieuw hebt opgestart, typ je om opnieuw in de cv-omgeving te komen:
$ bron ~/.profile
$ werk aan cv
Installeer nu pi camera
$ pip installeer "picamera[array]"
Voer de face-detectie-test.py bu uit met:
python gezichtsdetectie-test.py
Als er een fout wordt gegenereerd, typt u deze opdracht voordat u het script uitvoert
sudo modprobe bcm2835-v4l2
Nu ben je klaar om te gaan voor gezichtsdetectie. Probeer en deel uw resultaten
Proost!