I want to read images from a gallery contain 20 color images and then convert these to gray scale images and finding histogram for each,how can I do it? making index for every image!!!

1 view (last 30 days)
clc
for i=1:20
g(i)=imread(D:\Master\Research\Practical-Matlab\1\m.jpg');%gallery images
f(i)=rgb2gray(g(i));
end

Answers (1)

Joseph Cheng
Joseph Cheng on 16 Nov 2015
you'll have to do something like this:
yourgalleryfolder = 'D:\Master\Research\Practical-Matlab\1\';
imagefiles = dir(fullfile(yourgalleryfolder,'*.jpg'));
Images = struct('data',[],'histogram',[]);
for ind = 1:numell(imagefiles)
Images(ind).data = imread(fullfile(yourgalleryfolder,imagefiles(ind).name));
Images(ind).histogram = hist(Images(ind).data);
end
  2 Comments
Batool Engineer
Batool Engineer on 17 Nov 2015
thank you, but here I have an error, appear down: Undefined function 'numell' for input arguments of type 'struct'.
Error in ppp1 (line 6) for ind = 1:numell(imagefiles)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!