Bonjour
J'ai une video avi et je veut faire un petit traitement avec matlaben faite je veut selectionner une partie de la video dans le temps(de la frame N1 a la frame N2) et dans la hateur et largeur ( nb1->nb2 et nb3->nb4) et apres ca je veut sauvgarder le video resultat
j'utilise le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
fichier='C:\Program Files\MATLAB71\work\fonction lire video\but.avi'
N1=84;N2=111;nb1=1;nb2=200;nb3=101;nb4=300;
for l=N1:N2
 
         mov=aviread(fichier,l);
 
         m=mov.cdata;
         n=m(nb1:nb2,nb3:nb4,1:3);
         g= im2frame(n);
 
end
movie2avi(g,'nouvelle_video.avi')
Alors il cré une video appellé nouvelle_video mais qui comporte une seule image et de taille 7 KO environ
Lorsque j'ai modifié le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
fichier='C:\Program Files\MATLAB71\work\fonction lire video\but.avi'
N1=84;N2=111;nb1=1;nb2=200;nb3=101;nb4=300;
for l=N1:N2
 
         mov=aviread(fichier,l);
 
         m=mov.cdata;
         n=m(nb1:nb2,nb3:nb4,1:3);
         g(l)= im2frame(n);
 
end
movie2avi(g,'nouvelle_video.avi')
(j'ai remplacé g par g(l) )
il cré une video de taille 0 octet et il me renvoit l'erreur suivante
??? Error using ==> avifile.addframe
The minimum frame size for the Indeo compressor is 32x32.

Error in ==> movie2avi at 64
avimov = addframe(avimov,mov);

Error in ==> traitement at 17
movie2avi(g,'nouvelle_video.avi')
Est ce quelqu'un peut m'aider à connaitre la sollution et merci d'avance