Es ist eine sehr rudimentäre Geschichte ... Wahrscheinlich der richtige Weg, um eine Überwachungskamera mit Raspberry Pi und einem echten Kameramodul herzustellen, nicht mit einer USB-Kamera, sondern mit einer speziellen Kamera für die Raspeye-Jessie-Version (Motion + v4l2-Treiber)](https: // qiita. Wie in com / rukihena / items / 95da3860f9ca86c39f8d) erläutert, sollten Sie das Kernelmodul bcm2835-v4l2.ko
wie folgt ausführen können, aber ich habe nicht die tatsächliche Kamera für Raspeye, daher habe ich es bestätigt. nicht.
sudo apt-get install usbutils python3-opencv libcanberra-gtk3-module v4l-utils qv4l2
qv4l2
, um zu sehen, ob Sie das Kamerabild sehen können.v4l2-ctl --list-formats-ext
überprüfen.Stellen Sie sicher, dass die Ausgabe von lsusb -t`` Class = Video, Driver = uvcvideo
hat
pi@raspberrypi:~ $ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 3, If 3, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
Wenn Sie das folgende Programm als "python3 capture.py" ausführen, wird das Bild von der Kamera angezeigt. Wenn Sie Ubuntu Mate Raspberry Pie verwenden, können Sie nicht auf / dev / video0 zugreifen. Verwenden Sie daher bitte "sudo chmod a + rw / dev / video0".
capture.py
import cv2
capture = cv2.VideoCapture(0)
if capture.isOpened() is False:
raise IOError
while(True):
try:
ret, frame = capture.read()
if ret is False:
raise IOError
cv2.imshow('frame',frame)
cv2.waitKey(1)
except KeyboardInterrupt:
#STRG, wenn Sie fertig sind+Drücken Sie C.
break
capture.release()
cv2.destroyAllWindows()
Recommended Posts