2013-05-12 8 views
1

J'ai une fonction qui traite une vidéo et renvoie quelques images. Je le fais en créant une nouvelle vidéo dans la fonction contenant les images que je veux et en retournant la vidéo et est la prochaine fonction que j'ai relue la vidéo pour la traiter.MATLAB renvoie des images de la vidéo

Y at-il un moyen plus rapide de le faire? Par exemple retourner un tableau avec les images et les lire?

+0

Qu'entendez-vous par "vidéo"? N'est-ce pas juste un tableau à trois dimensions d'images décodées? –

+0

cadres décodés. –

+0

Je ne suis pas familier avec la façon de le faire ... Comment ajouter les images à la matrice et les lire un par un –

Répondre

1

Vous pouvez transmettre les images décodées en tant que matrice 3D. Par exemple, si vous avez deux 2-D cadres frame1 et frame2, vous pouvez les concaténer le long de la troisième dimension comme ceci:

M = cat(3, frame1, frame2); 

Pour extraire les images à partir du tableau 3-D, il suffit de spécifier la troisième coordonnée. Par exemple, pour obtenir frame1, vous écrivez:

frame1 = M(:, :, 1); 

Cela vous permet de contourner le problème de codage et le décodage des trames entre les appels de fonction, ainsi que d'éviter toute perte de qualité vidéo due à l'encodage successif.

+1

parfait merci :) –

+0

@Syntax_Error Vous êtes les bienvenus :) –