Ich benutze Nitrogen6x Board mit ov5640 Kamera (Mipi).
Die Kamera verwendet nicht Standard-v4l / v4l, aber wir können Videos mit GStreamer für ihren Treiber (mfw_v4l) streamen:
%Vor%Ich möchte die Kamera in OpenCV verwenden, indem ich sie über GStreamer (GStreamer in OpenCV) aufruft. Ich habe eine Frage zum Aufruf von GStreamer innerhalb von OpenCV hier gestellt, und dies ist der Nachfolger.
Wenn ich die GStreamer-Unterstützung aktiviere, wird im Quelltext <überprüft / a>, aber OpenCV versucht, den Standard V4L / V4L2 für GStreamer zu verwenden, den ich ändern möchte. Der Abschnitt über den Aufruf von GStreamer befindet sich in cap_gstreamer.cpp :
%Vor%Ich denke, das ist der Abschnitt, an dem ich arbeiten sollte, um irgendwie auf den Treiber der Kamera zu zeigen. ("Typ" hier ist wahrscheinlich eine Zahl mit dem Treiber verwandt (wie in precomp.hpp definiert), aber was ist der "Dateiname"?)
Irgendwelche Vorschläge, wie Sie über GStreamer auf die Kamera zugreifen, wären hilfreich und geschätzt. Danke!
Sieht aus, als könnten wir die Kamera mit einer richtigen GStreamer-Pipeline wie unten beschrieben aufrufen:
%Vor%Da die Kameraausgabe in YUV ist, müssen wir diese in RGB konvertieren, um die Frames an OpenCV zu übergeben. In diesem wird sichergestellt, dass OpenCV RGB-Farbraum erhält.