Zurück → Spielen mit Raspberry Pi Zero WH-Kameramodul Teil 0 Weiter → Spielen mit Raspberry Pi Zero WH-Kameramodul Teil 2
In diesem Artikel richten wir Python ein und überprüfen die Funktion des Kameramoduls.
In der diesmal eingeführten Version von Raspberry Pi OS wurde die symbolische Verknüpfung von Python auf Python2 (2.7.16) gesetzt. Ändern Sie daher die Verknüpfung zu Python3 (3.7.3). Nebenbei bemerkt, die Raspberry Pi OS Python-Bibliothek scheint mit apt-get schneller zu sein als mit pip.
#Ersetzen der symbolischen Verknüpfung
$ cd /usr/bin
$ sudo unlink python
$ sudo ln -s python3 python
Aktivieren Sie die Kamera nach dem Anschließen des Kameramodulkabels an das Raspberry Pi-Hauptgerät über "Einstellungen" → "Raspberry Pi-Einstellungen" → "Schnittstelle". Überprüfen Sie dann, ob das Kameramodul richtig angeschlossen ist.
#Überprüfen Sie die Kameraverbindung
$ vcgencmd get_camera
Wenn "unterstützt = 1 erkannt = 1" angezeigt wird, ist die Verbindung erfolgreich.
Als Test werde ich ein Standbild machen.
#Standardmäßig/home/Speichern Sie zu pi
$ sudo raspistill -o image.jpg
3.1. OpenCV
Installieren Sie zunächst die Bibliotheken, von denen OpenCV abhängt.
# libhdf5-xxx Versionsprüfung(Diese Version ist 103)
$ sudo apt-cache search libhdf5
#Installation verschiedener Bibliotheken
$ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
$ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libjasper-dev
Installieren Sie dann OpenCV.
#OpenCV-Installation
$ sudo pip3 --default-timeout=1000 install opencv-python
Wenn dies unverändert bleibt, kann "import cv2" einen Fehler auslösen. Legen Sie daher die Umgebungsvariable fest. Fügen Sie "~ / .bashrc" Folgendes hinzu und führen Sie "source ~ / .bashrc" aus.
# ~/.Zu bashrc hinzugefügt
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1
Dieser Code zeigt den von der Kamera aufgenommenen Bildschirm in Graustufen an und endet, wenn die Taste q gedrückt wird.
capture_test.py
import cv2
def capture():
# 0 is a camera number.
cap = cv2.VideoCapture(0)
print('### Break is \'q\' key.')
while(cap.isOpened()):
# 'ret' is a boolean.
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', gray)
# Break is 'q' key.
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__=='__main__':
capture()
Recommended Posts