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 回表示 (過去 30 日間)
clc
for i=1:20
g(i)=imread(D:\Master\Research\Practical-Matlab\1\m.jpg');%gallery images
f(i)=rgb2gray(g(i));
end

回答 (1 件)

Joseph Cheng
Joseph Cheng 2015 年 11 月 16 日
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 件のコメント
Batool Engineer
Batool Engineer 2015 年 11 月 17 日
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)
Stephen23
Stephen23 2015 年 11 月 17 日
The correct function name is numel, exactly as any internet search engine would have told you.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by