L'aide personnalisé de la caméra dans OpenCV (via GStreamer)
Je suis en utilisant Nitrogen6x conseil avec ov5640 caméra(mipi).
La caméra n'est pas en utilisant la norme v4l/v4l, mais on peut diffuser de la vidéo en utilisant GStreamer pour son conducteur (mfw_v4l):
gst-launch mfw_v4lsrc ! autovideosink
Je veux utiliser l'appareil photo dans OpenCV en l'appelant par GStreamer (GStreamer à l'intérieur de OpenCV).
J'ai posé une question sur l'appel de GStreamer à l'intérieur de OpenCV ici, et c'est le suivi.
Si j'active GStreamer de soutien, il est vérifié dans le code source, mais OpenCV essaie d'utiliser la norme V4L/V4L2 pour GStreamer qui je veux changer.
La section sur l'appel de GStreamer est dans 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;
}
Je suppose que c'est la section que je devrais travailler sur quelque point de l'appareil photo, pilote. ("type" ici est probablement un numéro de pilote(tel que défini dans precomp.hpp), mais quel est le "nom de fichier"?)
Des suggestions sur la façon d'accéder à la caméra via GStreamer serait utile et apprécié.
Merci!
OriginalL'auteur Mahyar | 2014-05-09
Vous devez vous connecter pour publier un commentaire.
Semble que nous pouvons appeler la caméra à l'aide d'un bon pipeline GStreamer comme ci-dessous:
que la sortie de la caméra est en YUV, nous avons besoin de les convertir en RVB pour transmettre les images à OpenCV.
Cette est où OpenCV fait en sorte qu'il soit en espace colorimétrique RVB.
ne fonctionne pas avant d'opencv v3
OriginalL'auteur Mahyar
Juste pour la référence, cela fonctionne dans OpenCV 3.0:
OriginalL'auteur br1