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!!!

2 views (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.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!