Convertir vidéo couleur en niveaux de gris de la vidéo dans MATLAB

Je suis en train de faire quelques opérations sur la couleur de la vidéo dans MATLAB cependant, je suis confronté à 2 problèmes:

  • J'obtiens une erreur lors de la conversion vidéo couleur en niveaux de gris de la vidéo. Je veux dire, j'ai besoin de convertir vidéo couleur en niveaux de gris de la vidéo et de l'écrire .fichier avi

  • Comment puis-je effectuer une opération (dire la détection de contours) sur des images en niveaux de gris (extrait de vidéo de couleur) et peuvent ensuite écrire le résultat de la détection de contours .format vidéo avi?

Mon code incomplète (qui se composent de la couleur de la conversion de format) est comme suit:

vid = VideoReader('Big_buck_bunny_480p_Cut.avi');
numImgs = get(vid, 'NumberOfFrames');
frames = read(vid);
for i=1:numImgs
  frames(:,:,:,i)=rgb2gray(frames(:,:,:,i));
end

Un pointeur pour résoudre ces deux problèmes?

pourquoi ne pas utiliser une image différente pour enregistrer une vidéo en niveaux de gris, dire frame1. Ensuite, chaque boucle pour enregistrer frame1 à l'aide de [writeVideo](http://www.mathworks.com/help/matlab/ref/videowriter.writevideo.html). La deuxième option est de créer un éventail de niveaux de gris des images et de l'écrire à l'aide writeVideo. Dans ce dernier, vous devez créer une 3-D tableau et non 4-D. Par exemple, frames1(:,:,i)=rgb2gray(frames(:,:,:,i));.

OriginalL'auteur | 2014-03-10