我想讀取特定文件夾中的.PGM文件。讀取matlab中特定文件夾中的所有文件?
這是我認爲把所有的.PGM文件
a = 'D:\Matlab\Training\Training_PGM_All\';
特定的文件夾,我嘗試讀取該文件夾
tmpdir = dir([a, '*']);
我仍然無法讀取那些文件內的所有文件。我不想直接在代碼中指定路徑。所以我想將目錄保存在一個變量中,然後我將在代碼中調用該變量。
什麼是錯的代碼..
我想讀取特定文件夾中的.PGM文件。讀取matlab中特定文件夾中的所有文件?
這是我認爲把所有的.PGM文件
a = 'D:\Matlab\Training\Training_PGM_All\';
特定的文件夾,我嘗試讀取該文件夾
tmpdir = dir([a, '*']);
我仍然無法讀取那些文件內的所有文件。我不想直接在代碼中指定路徑。所以我想將目錄保存在一個變量中,然後我將在代碼中調用該變量。
什麼是錯的代碼..
我沒有看到這個問題。適用於我的作品:)
a = 'D:\Matlab\Training\Training_PGM_All\';
Files=dir(a);
for k=1:length(Files)
FileNames=Files(k).name
end
實際上,讀取目錄中的所有文件都涵蓋在MATLAB常見問題中。給出的一個例子是
% Read files file1.txt through file20.txt, mat1.mat through mat20.mat
% and image1.jpg through image20.jpg. Files are in the current directory.
for k = 1:20
matFilename = sprintf('mat%d.mat', k);
matData = load(matFilename);
jpgFilename = strcat('image', num2str(k), '.jpg');
imageData = imread(jpgFilename);
textFilename = ['file' num2str(k) '.txt'];
fid = fopen(textFilename, 'rt');
textData = fread(fid);
fclose(fid);
end
另一個例子是
myFolder = 'C:\Documents and Settings\yourUserName\My Documents\My Pictures';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.jpg');
jpegFiles = dir(filePattern);
for k = 1:length(jpegFiles)
baseFileName = jpegFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
imshow(imageArray); % Display image.
drawnow; % Force display to update immediately.
end
你是不是需要使用'* .pgm'? – Divakar