How to save Histogram of Multiple Images

2 views (last 30 days)
clc; clear all; close all
folder = 'E:\input';
filepattern = fullfile(folder, '*.png');
srcFiles = dir(filepattern);
numImages = length(srcFiles);
for k = 1 : numImages
fullFileName = fullfile(folder, srcFiles(k).name);
I=imread(fullFileName);
imhist(I);
mkdir('E:\hist');
path='E:\hist\img';
saveas(gcf,['histo' num2str(k) '.png'])
end
This is not working well. any help ???

Accepted Answer

DGM
DGM on 24 Jun 2022
This should be a start
sourcefolder = 'E:\input';
filepattern = fullfile(sourcefolder, '*.png');
% this shouldn't be in the loop
% the subdirectory needs to exist before you use it
outputfolder = './hist/img';
mkdir(outputfolder);
srcFiles = dir(filepattern);
numImages = length(srcFiles);
for k = 1 : numImages
% build full file path+name
% use sprintf and zero-padded numbers (this assumes 3 digits is enough)
inputfilename = fullfile(sourcefolder, srcFiles(k).name);
outputfilename = fullfile(outputfolder, sprintf('histo_%03d.png',k));
I = imread(inputfilename);
imhist(I);
saveas(gcf,outputfilename)
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!