Verwenden von benutzerdefinierten Kamera in OpenCV (via GStreamer)
Ich bin mit Nitrogen6x board mit ov5640-Kamera(mipi).
Die Kamera ist nicht mit standard-v4l/v4l, aber wir können stream-video unter Verwendung von GStreamer für seine Treiber (mfw_v4l):
gst-launch mfw_v4lsrc ! autovideosink
Will ich mit der Kamera in OpenCV durch den Aufruf via GStreamer (GStreamer-innen OpenCV).
Stellte ich eine Frage über den Aufruf GStreamer-innen OpenCV hier, und dies ist der follow-up.
Wenn ich die GStreamer-Unterstützung, ist es überprüft im Quell-code, aber OpenCV versucht, die Verwendung von standard-V4L/V4L2 für GStreamer, die ich ändern will.
Der Abschnitt über den Aufruf GStreamer ist in cap_gstreamer.cpp:
CvCapture* cvCreateCapture_GStreamer(int type, const char* filename )
{
CvCapture_GStreamer* capture = new CvCapture_GStreamer;
if( capture->open( type, filename ))
return capture;
delete capture;
return 0;
}
Ich denke, dies ist der Abschnitt, ich sollte arbeiten, um irgendwie zu zeigen, um die Kamera-Treiber. ("Typ", hier ist vermutlich eine Zahl im Zusammenhang mit dem Fahrer(wie definiert in precomp.hpp), aber was ist der "Dateiname"?)
Anregungen dazu, wie der Zugriff auf die Kamera via GStreamer wäre hilfreich und geschätzt.
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aussieht, den wir nennen können die Kamera mit einem richtigen GStreamer-pipeline wie folgt:
als die Kamera Ausgabe in YUV, wir brauchen, um zu konvertieren, dass zu RGB zu übergeben, die frames, die zu OpenCV.
Diese ist, wo OpenCV stellt sicher, Sie bekommt RGB-Farbraum.
Nur für Referenz, das funktioniert in OpenCV 3.0: