Borrar filtros
Borrar filtros

how to convert a series of RGB images into grayscale and save them?

7 visualizaciones (últimos 30 días)
I have taken snapshots using my webcam and have saved those snaps in rgb type. Now I need to convert those rgb images into gray. Please help.
I have used the following code to save: and it is better if the solution is also given using for loop.
for i=1:10
a=getsnapshot (cam);
imwrite (a,sprintf('%d.jpg',i);
end
Thank you.
  2 comentarios
Image Analyst
Image Analyst el 26 de Nov. de 2014
Isn't this question totally contained in the question you already asked and I already answered: http://www.mathworks.com/matlabcentral/answers/163909#comment_251947? You asked the same thing plus how to subtract some image from the gray and RGB image, and I gave code for that there.
Omar Ahmad
Omar Ahmad el 26 de Nov. de 2014
yes, I did because I quite wasn't familiar with this website. I' am sorry for that. I described more about the situation in the link that you've posted above. I didn't overlook your advice instead it was good and detailed therefore it took a while for me to learn and adopt. Please accept my limited knowledge. thank you both of you.
I would like to make a special request: Please do not delete this or the other thread claiming both are of the same type. Even though the question is the same the answers are interestingly awesome because they are in two different techniques.

Iniciar sesión para comentar.

Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 25 de Nov. de 2014
Editada: Mohammad Abouali el 25 de Nov. de 2014
Actually you are only saving the last snap shot as grayscale. Change your code to this:
for i=1:10
a=getsnapshot (cam);
a=rgb2gray(a);
imwrite (a,sprintf('%d.jpg',i));
end
if you want both rgb and gray scale to be stored you can do this:
for i=1:10
a=getsnapshot (cam);
imwrite (a,sprintf('%d.jpg',i));
imwrite (rgb2gray(a),sprintf(['grayImage' filesep '%d.jpg'],i));
end
  14 comentarios
rohit ranjan
rohit ranjan el 28 de Oct. de 2015
sir my code is
clear all; close all; clc;
path='E:\OLD_MYDOCUMENT\prabhu\matcodes\'; list=dir([path, '*.bmp']); for x=1:length(list) images{x}=imread([path, list(x).name]); figure(x), imshow(images{x}); end
after this i have to convert to gray image. how to do ?
Image Analyst
Image Analyst el 28 de Oct. de 2015
I'm not sure why you're storing/saving all of them in a cell array - you're likely to run out of memory. If you don't need the images after the loop, don't save them. Just do this and then use it without saving:
grayImage = rgb2gray(images{x});

Iniciar sesión para comentar.

Más respuestas (1)

Reeve
Reeve el 24 de Nov. de 2014
Hi Omar,
You just need to add:
a = rgb2gray(a);
after your getsnapshot line.
  2 comentarios
Omar Ahmad
Omar Ahmad el 25 de Nov. de 2014
thank you Reeve for this one. But my question was as to how can the already captured snapshots using the above for loop code can be converted into grayscale images so that I can calculate the difference between the similar.
Omar Ahmad
Omar Ahmad el 25 de Nov. de 2014
I somehow managed to write a code which takes multiple snapshots and saves them into a file. It also converts into gray at the same time. the code is as follows:
//The rgb images are saved into a folder called rgbImages.
for i=1:5
a=getsnapshot (cam);
imwrite (a,sprintf('%d.jpg',i));
cd ../
cd grayImage
a=rgb2gray(a);
imwrite (a,sprintf('%d.jpg',i));
end
The problem here is that the rgb images are correctly captured and are saved into the directory but only the 1st rgb image gets converted into grayscale and is saved into grayImages folder. Could you please help me to get all of those rgb images get converted and saved.
In the other hand, when I put your answer (Reeve) I' am only getting the grayscale images into the correct folder but when I look inside rgb file only the 1st rgb is saved which is the opposite to my first case.
Please give me an answer (code) which will capture and save the same images correspondingly as rgb and grayscale format.
thank you very much in advance.

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by