how to read multiple pgm images ?

25 次查看(过去 30 天)
I'm working with a database which has 472 pgm files inside a folder named faces. I want to read all 472 and store it I
also each file inside the folder is name cmu_0000.pgm..........cmu_00471.pgm
  4 个评论
Stephen23
Stephen23 2017-8-17
@kitty Varghese: today I formatted your code correctly for you. In future you can do this yourself: simply select the code text and then click the {} Code button.
Stephen23
Stephen23 2017-8-17
@kitty Varghese: there is no point in getting dir to search for files with a .m extension:
thepath = ... *.m';
if what you are after is .pgm files. Do not hard-code how many files there are:
for i=1:472,
when it is much more robust to use numel. I would also recommend avoid i as a variable name.

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2017-8-17
编辑:Stephen23 2017-8-17
Something like this perhaps (untested):
P = 'C:\Users\kitty\Dropbox\non negative factorization\faces\face.test\test\face';
D = dir(fullfile(P,'*.pgm'));
C = cell(size(D));
for k = 1:numel(D)
C{k} = imread(fullfile(P,D(k).name));
end
Note I loaded that data into a cell array: this is because images commonly are stored as a 3D matrix: as an alternative you could store them is a 4D numeric array.
  12 个评论
kitty varghese
kitty varghese 2017-8-21
编辑:Walter Roberson 2017-8-21
close all;
clear all;
clc;
% cbcldata - read face image data from cbcl database
% This is where the cbcl face images reside
P = 'C:\Users\kitty\Dropbox\non negative factorization\faces\face.test\test\face';
% Create the data matrix
D=dir(fullfile(P,'*.pgm'));
C=cell(size(D));
for k=1:numel(D)
C{k}=imread(fullfile(P,D(k).name));
col(:,k)=C(:);
V{k}=C(:);
end
this works perfectly .
Thanks @Stephen Cobeldick
Vipasha Sharma
Vipasha Sharma 2019-5-23
can anyone help me with code for reading multiple HDF files?

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by