Hallo zusammen,
ich bin gerade dabei ein Programm zu schreiben mit dem man über die Camera ein Bild aufnimmt, dieses Analysiert und dann z.b. der Barcode von einer Karte einlesen werden kann.
Da ich es in C++ schreiben will bin ich auf OpenCV gekommen und versuche mich damit gerade ein wenig. Ich habe nur das Problem das wenn ich ein normales Bild mache, ich auf irgendwas im Hintergrund Fokussiere, aber nicht auf das, was ich haben will. Daher die Frage:
Wie setze ich unter Ubuntu den Fokus einer Cam über OpenCV ... oder sonst wie?
Der momentane Code ist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int main() { VideoCapture cap(0); Mat img; auto a = cap.set(39,0); cout<<a<<endl; double test = 0; while (true) { cap.set(28,test); cap.read(img); imshow("Image",img); int k = waitKey(10); test++; } return 0; } |
Idee dahinter war den Autofokus aus zu machen
1 | cap.set(39,0) |
und dann schrittweise den Fokus zu verändern
1 2 3 4 5 6 7 | double test = 0; while (true) { cap.set(28,test); ... test++; |
aber schon bei dem ausschalten des Autofokus habe ich ein Problem. Es liefert "False" zurück und ich bekomme das zurück
[ WARN:0] global /home/XYZ/Program/opencv_build/opencv/modules/videoio/src/cap_gstreamer.cpp (1081) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1 [ WARN:0] global /home/XYZ/Program/opencv_build/opencv/modules/videoio/src/cap_gstreamer.cpp (1371) setProperty OpenCV | GStreamer warning: GStreamer: unhandled property 0
bei allen weiteren "set" aufrufen bekomme ich dann immer weiter
[ WARN:0] global /home/lukas/Program/opencv_build/opencv/modules/videoio/src/cap_gstreamer.cpp (1371) setProperty OpenCV | GStreamer warning: GStreamer: unhandled property
hat jemand eine Idee wie ich das beheben kann, was ich machen kann? Liegt das nur daran das es meine eingebaute Cam nicht unterstützt oder daran das diese Flags von dem OS nicht unerstützt werden? Habe schon ein paar mal gelesen das es am OS liegen könnte, aber auch ein paar mal das es nicht der Fall ist, Internet halt 🤣
Danke für eure Hilfe
EvD
Moderiert von redknight:
Verschoben.