Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden

Überblick

OpenCV-Installation

Ich habe es aus dem Quellcode erstellt.

$ wget https://github.com/opencv/opencv/archive/3.4.3.zip -O opencv-3.4.3.zip
$ wget https://github.com/opencv/opencv_contrib/archive/3.4.3.zip -O opencv_contrib-3.4.3.zip
$ unzip opencv-3.4.3.zip
$ unzip opencv_contrib-3.4.3.zip
$ cd opencv-3.4.3
$ mkdir build
$ cd build
$ ./cmake.sh
$ make -j4
$ sudo make install
$ sudo ldconfig
$ cd /path/to/site-packages
$ sudo ln -s /usr/local/lib/python3.6/site-packages/cv2.cpython-36m-aarch64-linux-gnu.so cv2.so

Da cmake viele Optionen hat und ich es viele Male erneut versucht habe, habe ich eine Datei wie folgt erstellt.

cmake.sh


#!/bin/sh
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF \
-D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF \
-D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF \
-D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF \
-D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF \
-D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF \
-D BUILD_DOCS=OFF -D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \
-D BUILD_opencv_python3=ON -D FORCE_VTK=ON \
-D WITH_TBB=ON -D WITH_V4L=ON \
-D WITH_OPENGL=ON -D WITH_CUBLAS=ON \
-D BUILD_opencv_python3=ON \
-D PYTHON3_EXECUTABLE=`pyenv local 3.6.8; pyenv which python` \
-D PYTHON3_INCLUDE_DIR=`pyenv local 3.6.8; python -c 'from distutils.sysconfig import get_python_inc; print(get_python_inc())'` \
-D PYTHON3_NUMPY_INCLUDE_DIRS=`pyenv local 3.6.8; python -c 'import numpy; print(numpy.get_include())'` \
-D PYTHON3_LIBRARIES=`find $PYENV_ROOT/versions/3.6.8/lib -name 'libpython*.so'` \
-D WITH_FFMPEG=ON \
..

Ich bin neu bei OpenCV und habe aufgrund der besonderen Umgebung nicht reibungslos gearbeitet. Ich bin über die folgenden Punkte gestolpert.

matplotlib Ich habe matplotlib für die Bildanzeige. Ich habe die Fehlermeldung erhalten, dass das Backend keine GUI ist, daher habe ich PyQt5 wie folgt eingefügt. (Ich habe es durch Ausprobieren gemacht, daher habe ich das Gefühl, dass es nicht genügend Befehle gibt.)

$ sudo apt install -y qt5-qmake qt5-default
$ wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.12/sip-4.19.12.tar.gz
$ wget https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.10.1/PyQt5_gpl-5.10.1.tar.gz
$ tar -xvf sip-4.19.12.tar.gz
$ tar -xvf PyQt5_gpl-5.10.1.tar.gz
$ cd sip-4.19.12/
$ python configure.py --sip-module=PyQt5.sip
$ make -j4
$ sudo make install
$ cd ../PyQt5_gpl-5.10.1/
$ python configure.py --qmake /usr/bin/qmake --sip-incdir ~/deeplabcut/sip-4.19.12/siplib
$ make
$ sudo make install
$ pip install pyqt5

Bestätigte Operation mit Python

Kann Lenas Gesicht erkannt werden? Ich habe die Funktionsweise von OpenCV anhand des Themas überprüft.

cvtest.py


import cv2
import matplotlib.pyplot as plt

cascade_path = '/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml'

def face_detection(img_src):
    img_gray = cv2.cvtColor(img_src, cv2.COLOR_BGR2GRAY)
    cascade = cv2.CascadeClassifier(cascade_path)
    facerect = cascade.detectMultiScale(img_gray)
    if len(facerect) == 0:
        print('No face detected')
        return None

    rect = facerect[0]
    cv2.rectangle(
        img_src,
        tuple(rect[0:2]), tuple(rect[0:2] + rect[2:4]),
        (255, 255, 255),
        thickness=2)
    return img_src

if __name__ == "__main__":
    lena_path = './lena.png'
    lena_src = cv2.imread(lena_path)
    lena_face_detected = face_detection(lena_src)
    if lena_face_detected is None:
        img_show = lena_src
    else:
        img_show = cv2.cvtColor(lena_face_detected, cv2.COLOR_BGR2RGB)
    plt.imshow(img_show)
    plt.show()

Das Folgende ist das Ausführungsergebnis. Sie können es sicher erkennen. Beeindruckend

cvtest.png

Wenn die Kamera ankommt, würde ich gerne damit spielen.

das ist alles.

Recommended Posts

Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Arbeiten mit GPS in Python für Raspberry Pi 3
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Arbeiten Sie nicht mit Python mit OpenCV auf AMD Ryzen CPU unter WSL2 Ubuntu 18.04 und 20.04
Verwenden Sie matplotlib unter Ubuntu 12 und Python
Installieren Sie OpenCV unter Ubuntu + Python
Verwenden Sie NeoPixel mit Himbeerkuchen
Installieren Sie OpenCV4 auf Raspberry Pi 3
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
Ermitteln Sie den Tragezustand der Maske mit OpenCV und Raspberry Pi
Installieren Sie pyenv auf Raspberry Pi, um Python zu verwalten
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Verwenden Sie Python auf Raspberry Pi 3, um die LED zu beleuchten, wenn es dunkel wird!
Leuchtendes Leben mit Python und OpenCV
Neuronales Netzwerk mit OpenCV 3 und Python 3
MQTT auf Raspberry Pi und Mac
OpenCV-Installationsverfahren auf Raspberry Pi
Verwenden Sie OpenCV mit Python 3 in Window
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Erstellen Sie wxPython unter Ubuntu 20.04 auf Himbeer-Pi 4
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Haustierüberwachung mit Rekognition und Raspberry pi
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3!
Virtuelle Python-Umgebung und Pakete unter Ubuntu
Adafruit Python BluefruitLE arbeitet mit Raspeye.
Ein Memo mit Python2.7 und Python3 in CentOS
Verwenden Sie PIL oder Pillow mit Cygwin Python
Stellen Sie den Swap Space unter Ubuntu auf Raspberry Pi ein
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Verwenden Sie Python auf Raspberry Pi 3, um die LED zu beleuchten (Hello World)
Verwenden Sie den Grove-Sensor mit Raspberry Pi
Erstellt Ubuntu, Python, OpenCV-Umgebung auf Docker
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3!
Installieren Sie pyenv und Python 3.6.8 unter Ubuntu 18.04 LTS
Bis Sie opencv mit Python verwenden können
Verwenden Sie Python und MeCab mit Azure-Funktionen
Erkennen Sie analoge Signale mit dem A / D-Wandler mithilfe von Python auf Raspberry Pi 3!
Versuchen Sie, den RSS-Feed von arXiv mit Python von Raspeye auf Twitter zu twittern
Discord Bot Himbeere Pi Null mit Python [Hinweis]
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erkennen Sie Schiebeschalter mit Python auf Raspberry Pi 3!
Verwendung von Raspeye Pie Camera Python
Erkennen Sie Magnetschalter mit Python auf Raspberry Pi 3!
Genießen Sie die elektronische Arbeit mit GPIO von Raspberry Pi
MQTT Radicon Car mit Arduino und Himbeere
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
Der einfachste Weg, OpenCV mit Python zu verwenden
Grove - Temperatur- und Feuchtigkeitssensor (DHT11) mit Raspberry Pi
Holen Sie sich CPU-Informationen von Raspberry Pi mit Python
Stellen Sie DHT11 mit Raspeye + Python zur Verfügung (Hinweis)