Ich versuche, ein einfaches Skript auszuführen, das auf einen Knopfklick wartet und dann ein Bild macht. Sobald zwei Bilder aufgenommen wurden, werden die beiden mit OpenCV verglichen, um die Differenz zu berechnen. Beim Ausführen meines Skripts, gefolgt vom Skript selbst, tritt dieser Fehler auf:
mmal: mmal_vc_component_create: Komponente 'vc.ril.camera' (1: ENOMEM) konnte nicht erstellt werden mmal: mmal_component_create_core: Komponente 'vc.ril.camera' konnte nicht erstellt werden (1) Traceback (letzter Aufruf zuletzt): Datei "/home/pi/.virtualenvs/cv/lib/python3.4/site-packages/picamera/camera.py" , Zeile 456, in _init_camera self._camera = mo.MMALCamera () Datei "/home/pi/.virtualenvs/cv/lib/python3.4/site-packages/picamera/mmalobj.py", Zeile 2279, in __init__ super (MMALCamera, self) .__ init __ () Datei "/home/pi/.virtualenvs/cv/lib/python3.4/site-packages/picamera/mmalobj.py", Zeile 633, in __init__ prefix = "MMAL konnte nicht erstellt werden Komponente% s "% self.component_type) -Datei" /home/pi/.virtualenvs/cv/lib/python3.4/site-packages/picamera/exc.py ", Zeile 184, in mmal_check erhöhen PiCameraMMALError (Status, Präfix) picamera.exc.PiCameraMMALError: MMAL-Komponente konnte nicht erstellt werden b'vc.ril.camera ': Nicht genügend Speicher während Bei der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten: Traceback (letzter Aufruf zuletzt): Datei "camera-daemon.py", Zeile 12, in der Datei <module> camera = PiCamera () "/home/pi/.virtualenvs/cv/lib /python3.4/site-packages/picamera/camera.py ", Zeile 431, in __init__ self._init_camera (camera_num, stereo_mode, stereo_decimate) Datei" /home/pi/.virtualenvs/cv/lib/python3.4/site -packages / picamera / camera.py ", Zeile 460, in _init_camera" Kamera ist nicht aktiviert. Versuchen Sie, 'sudo raspi-config' "picamera.exc.PiCameraError: Kamera ist nicht aktiviert. Versuchen Sie, 'sudo raspi-config' auszuführen, und stellen Sie sicher, dass die Kamera aktiviert wurde Signalimportpause vom Zeitimportschlaf
aus Datenbankimport einfügen von skimage.measure import strukturelle Ähnlichkeit als ssimimport cv2button = Button (17) camera = PiCamera () camera.resolution = (400.400) def capture (): image1 = capture_stream (False) sleep (3) image2 = capture_stream (False) diff = compute_diff (image1, image2) print (diff) def prepare_camera (Vorschau): globale Kamera # Wenn die Vorschau übergeben wird, möchten wir die Vorschau verwenden, wenn Vorschau: camera.start_preview () # Diese Druckanweisungen helfen beim Debuggen sowie # Lassen Sie der Kamera Zeit zum Aufwärmen. Drucken ("Bild aufnehmen") Drucken ("3") Ruhezustand (1) Drucken ("2") Ruhezustand (1) Drucken ("1") Ruhezustand (1) # Stoppen Sie die Kamera Vorschau bei Vorschau: camera.stop_preview () def capture_stream (Vorschau): globaler Kamerastream = BytesIO () prepare_camera (Vorschau) # Speichern Sie das Bild im Stream und geben Sie es zurück. camera.capture (stream, format = 'j peg ') # spult den Stream zurück, damit wir seinen Inhalt lesen können stream.seek (0) return Image.open (stream) # Berechne Bilddifferenzen basierend auf struktureller Ähnlichkeitdef compute_diff (A, B): imageA = cv2.imread (A) imageB = cv2.imread (B) imageA = cv2.cvtColor (imageA, cv2.COLOR_BGR2GRAY) imageB = cv2.cvtColor (imageB, cv2.COLOR_BGR2GRAY) return ssim (imageA, imageB) button.when_pressed = captureprint ("running ..." ) pause ()
Ich habe bereits die FAQ gelesen und ihre Vorschläge ausprobiert. Ich habe auch die meisten Lösungen für alle anderen Fragen zum Stapelaustausch mit denselben oder ähnlichen Problemen ausprobiert. Keiner hat gearbeitet. Zuletzt habe ich versucht, die Speicheraufteilung langsam zu erhöhen, und es wird immer noch dieser Fehler ausgegeben.
BEARBEITEN:
Ich denke, es ist wichtig zu beachten, dass die Kamera einwandfrei funktioniert, wenn ich ein separates Skript mit nur kamerabezogenem Code ausführe, sodass es kein Problem mit der Verbindung der Kamera gibt. del> Überprüfen Sie die Kamera Verbindung Obwohl meine Testskripte zuerst funktionierten, wurde meine Kamera irgendwann getrennt.
Ich verwende Python 3.4 , PiCamera 1.13 und OpenCV 3.4 .
Gerne stelle ich Ihnen weitere Informationen zur Verfügung. Jede Hilfe wird sehr geschätzt!