OpenCV in python. Erste webcam-stream funktioniert, aber die Fehlermeldung wird gedruckt
Ich bin etwas zu schreiben, in denen brauche ich die webcam-stream und einige Gesicht-Erkennung auf. Funktioniert alles einwandfrei, aber ich bekomme eine Fehlermeldung gedruckt in der Klemme, trotz von mir mit cv.CaptureFromCAM(-1)
erkennt keine Kamera angeschlossen, um meine Maschine.
Ich habe auch versucht, mit cv2
statt cv
, und ich bekomme den gleichen Fehler:
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Beachten Sie, dass der code nur läuft bei mir derzeit ist cv.CaptureFromCAM(-1)
.Oh, und ich bin mit python 2.7.
import cv
cv.CaptureFromCAM(-1)
Kann mir jemand sagen wie ich dieses Problem lösen?
Danke.
kannst du etwas code?
Für
Vielen Dank für das update. Habe gerade versucht deinen code und ich bekomme den gleichen Fehler.
Für
cv2
Sie sollten mit capture = cv2.VideoCapture(0)
(d.h., 0 und nicht -1). Auch, wenn alles funktioniert ist das ok. Diese Meldungen sind wahrscheinlich aus v4l
zu werden, ist vielleicht versucht, etwas zu tun, nicht unterstützte mit Ihrer Kamera.Vielen Dank für das update. Habe gerade versucht deinen code und ich bekomme den gleichen Fehler.
InformationsquelleAutor elaRosca | 2013-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lief ich in den gleichen Fehler Meldungen. In meinem Fall jedoch sind Sie nicht tödlich, nur ein Hinweis darauf, dass python ist mit v4l2-Sonden-Parameter, die passieren, werden ungültig für meine Kamera - /os-Kombination.
In meinem Fall
Aber
gibt ret=true und eine numby Bild für Bild.
In meinem Fall die video Kamera ist eine Logitech, Inc. HD-Webcam C910. Und ich bin mit ångström auf einem beagleboneblack.
InformationsquelleAutor Sani Elfishawy
versuchen:
auch, mit cv2 und Videoergreifung:
EDIT: ich fand die folgenden Informationen beim googeln zu diesem Fehler:
Die Nachrichten: 'VIDIOC_QUERYMENU: Invalid argument' kommen von opencv cap_libv4l.cpp
Datei.
Die ‘querymenu.id" - Wert hat immer noch die "V4L2_CTRL_FLAG_NEXT_CTRL" legen Sie beim aufzählen
die Menüpunkte.
Folgender patch behebt dies:
haben Sie versucht, Videoergreifung(0) ??
siehe mein edit. hoffe, das hilft
Ich bin nicht zu sehen, wie das patch ist richtig. Die Flagge
V4L2_CTRL_FLAG_NEXT_CTRL
gesetzt, damit der Aufrufv4l2_queryctrl
gibt die nächste Kontrolle. Darüber hinaus, bevor Sie wieder die nächste Kontrolle, die /flag gelöscht wird/ werden. Aber, wenn der Treiber unterstützt nicht die Flagge, EINVAL wird zurückgegeben -- das ist sehr wahrscheinlich der Fall sein, als je eine frühere Bemerkung: "es ist der Versuch, etwas zu tun, nicht unterstützte mit Ihrer Kamera". So eine richtige patch soll überprüfen, ob die Kamera-Treiber unterstützen die Flagge oder nicht, und dann setzen Sie das Kennzeichen oder nicht entsprechend.HM, jetzt sehen OpenCV code sehe ich die Flagge wird ORed wieder zu früh. Dies sollte gemeldet werden, um den bug-tracker. Aber bitte, nicht diesen patch anwenden überall, sollte es nicht klar, dass die Flagge, da wird es aufhören, Abfragen steuert.
InformationsquelleAutor Abhishek Thakur