Borrar filtros
Borrar filtros

How to plot histogram of multiple images in a for loop and save them in different figures?

6 visualizaciones (últimos 30 días)
Hello,
I have 20 images in a directory. I want to plot histogram for each image in a for loop and then store the histogram (each in a seperate figure) in a folder. This is the code that I wrote but it does not generate histogram.Could you guide me how to do that?
Thanks
srcFile = dir('./Registered_to_1_Metastatic8 copy 2/*.jpg');
for k = 1 :length(srcFile)
nextFilename = strcat('./Registered_to_1_Metastatic8 copy 2/',srcFile(k).name);
next_An_Img = imread(nextFilename);
An_gray_Img = rgb2gray(next_An_Img);
figure
imshow(An_gray_Img )
figure
h = imhist(An_gray_Img );
imwrite(h,['histo' num2str(k) '.jpg'],'jpg');
end
  5 comentarios
Penny13
Penny13 el 1 de Abr. de 2019
Thank you so much. It worked. Your answered this question in the comments section not in the Answers , so I could not figure it out how to accept the answer.

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 1 de Abr. de 2019
Wait for some time....if your images are huge..it will take some time to get plotted.
srcFile = dir('./Registered_to_1_Metastatic8 copy 2/*.jpg');
for k = 1 :length(srcFile)
nextFilename = strcat('./Registered_to_1_Metastatic8 copy 2/',srcFile(k).name);
next_An_Img = imread(nextFilename);
An_gray_Img = rgb2gray(next_An_Img);
figure
imshow(An_gray_Img )
figure
imhist(An_gray_Img );
% imwrite(h,['histo' num2str(k) '.jpg'],'jpg');
saveas(gcf,['histo' num2str(k) '.jpg'])
end

Más respuestas (1)

mehedi Hasan
mehedi Hasan el 1 de Nov. de 2019
Hello,
I have 20 images in a folder. I want generate histogram for these 20 image (single histogram for 20 images).Could you guide me how to do that?
Thanks

Categorías

Más información sobre Histograms 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