Bonjour à tous ,
j'ai un Pb que je n'arrive pas à résoudre depuis plusieurs jours.
J'ai cherché sur le net mais en vain...
je m'explique :
je souhaite lire une séquence vidéo complète et afficher les frames courants en utilisant les fonction : cvQueryFrame et cvCloneImage
currentFrame = cvCloneImage (cvQueryFrame(videoCapture));
bien sur le pointeur : "videoCapture" est créé comme suit :
videoCapture = cvCaptureFromFile ("maVideo.avi") ;
la boucle de lecture tourne bien jusqu'à ce que j'atteigne un certain nombre de frame (1700 ou plus) le programme plante et m'affiche une fenetre avec le message d'erreur : "Bad argument" "bad image header" in function cvCloneImage.
Je ne sais absolument pas d'où peut venir cette erreur.
Ce que j'ai constaté c'est que cvQueryFrame renvoit un pointeur NULL lorsque la boucle atteint le nombre de frame en question (1700).
Je me demande si celà ne vient pas du format AVI de mon fichier en entrée ?
en effet, j'utilise l'outil "virtualDub" pour créer un AVI qui soit, à mon avis compatible OpenCV à partir d'un autre AVI que je n'arrive meme pas à lire avec openCV. Ce que je fais avec virtualDub c'est ajouter un filtre de désentrelacement et je modifie la profondeur couleur pour obtenir des couleur 8bits pour chaque canal après ça je demande à virtual dub de sauvegarder sous format AVI.
merci par avance pour votre aide.
looneace.
Partager