Bonjour tout le monde,
j'aimerais bien savoir est ce qu'il y a un moyen pour découper une vidéo en un ensemble d'images avec opencv sous Linux (ubuntu).
Merci d'avance
Bonjour tout le monde,
j'aimerais bien savoir est ce qu'il y a un moyen pour découper une vidéo en un ensemble d'images avec opencv sous Linux (ubuntu).
Merci d'avance
Salut,
OpenCV considère naturellement une vidéo comme une liste chaînée d'image.
Si tu veux enregistrer ces images, tu n'as qu'à parcourir ta liste et les enregistrer une à une.
Tu dois pouvoir faire un truc du genre :
Voila, je suis un peu rouillé avec OpenCV, mais je suis à peu près sûr de moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CvCapture* capture = cvCaptureFromAVI( "path/vers/videoavi" ); if( capture ) { // Tu peux récupérer des propriétés, genrecvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH); Je te laisse t'amuser avec la doc // La valeur de NB_IMAGe doit pouvoir se récupérer dans les propriétés de la vidéo, j'imagine.. int cptImg; for(cptImg=0;cptImg<NB_IMAGE;cptImg++) { // test lecture-ecriture if( !cvGrabFrame( capture )) // Déplace la position dans la liste break; IplImage *frame = cvRetrieveFrame( capture ); // Récupère l'image courante dans une IPLImage if( !frame ) break; } cvReleaseImage( &frame ); cvReleaseCapture( &capture ); }
Bon courage,
Etienne
Premièrement merci beaucoup Etienne pour votre effort,
par la suite j’aimerais bien vous informer Mr que je suis débutant avec ce genre d'application alors si c'est possible de m’envoyer le code complet qui me permettra de découper ma vidéo à une suite d'images et de les stocker dans un répertoire local sous Linux et sous une format (jpeg, gif.....) je porte à votre connaissance que c'est un code qui va m'aider à réaliser 70% d'un projet de fin de mes études .
je serais ennormement content si vous arrivez à m'aider.
Je comprends que 70% du projet de fin d'étude clef en main serait comme un cadeau de Noël, mais ce n'est pas vraiment le but. Le but est d'apprendre, de comprendre, et non pas de sous traiter.
Je veux bien donner un indice, et pré-mâcher le travail.
Tous les éléments nécessaires sont sur cette page. Il faut maintenant se dépatouiller avec ça.
http://opencv.willowgarage.com/docum...nd_video.html#
Bon courage.
L'idée générale, c'est :
Tu te bases sur le format cvCapture pour gérer ta vidéo dans opencv
Tu crées une variable de type cvcapture, lui file le chemin vers ta vidéo, et hop il la charge.
il faut voir une vidéo comme une suite d'image, ou plutôt de frame (d'où fps : frame per second). L'idée est de traiter ces frames une par une, dans l'ordre de la vidéo.
Pour chaque frame, tu vas créer une IplImage (format OpenCV pour gérer une image). Tu vas sauvegarder cette image à l'endroit et au format que tu veux. Attention au nommage de l'image; La meilleure idée est d'avoir un compteur, que tu incrémentes à chaque image, et que tu intègres au nom de l'image.
exemple video_image_1.jpeg, video_image_2.jpeg,video_image_3.jpeg, etc.
Une fois que tu as parcouru toute ta vidéo, tu la libères, et hop, c'est fini.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager