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?
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
Vous devez vous connecter pour publier un commentaire.
Votre premier problème est en essayant d'attribuer la 2D sortie de rgb2gray dans un tableau 3D. Vous pouvez résoudre ce problème par la conversion de gris de l'image sur le format RGB:
OriginalL'auteur Trisoloriansunscreen
OriginalL'auteur ashkan
Essayer de cette façon. Ceci devrait faire l'affaire. Le code est auto-explicatif.
OriginalL'auteur Ragav Venkatesan