Import or Export a Sequence of Files
2 views (last 30 days)
Show older comments
Luca Fenech
on 27 Feb 2021
Commented: Luca Fenech
on 18 Mar 2021
I have been trying to export photos on MATLAB. With a.bmp, b.bmp and c.bmp works perfectly, but wrting *.bmp gives me an error. Could you help me out please.
Thanks
clc; clear all;
% paths = fullfile('c:\','users','fenec','Desktop','Cam_1',{'a.bmp'; 'b.bmp'; 'c.bmp'});
paths = dir(fullfile('c:\','users','fenec','Desktop','Cam_1','*.bmp'));
for R = 1:length(paths)
temp = char(paths(R));
I = imread(temp);
figure;
imshow(I, []);
end
2 Comments
Stephen23
on 27 Feb 2021
I don't see how this approach would ever work without error:
S = dir();
char(S(1))
Most likely you would be much better off just using the standard approach of using indexing and fieldname to access the structure content (just as they were designed for):
Accepted Answer
Cris LaPierre
on 27 Feb 2021
Perhaps the issue is that paths is a structure containing several fields and not just the path. Look at the dir documentation page for more.
The fields are
- name
- folder
- date
- bytes
- isdir
- datenum
Perhaps modify your code to be
for R = 1:length(paths)
temp = fullfile(paths(R).folder,paths(R).name);
I = imread(temp);
figure;
imshow(I, []);
end
4 Comments
Stephen23
on 18 Mar 2021
Edited: Stephen23
on 18 Mar 2021
@Luca Fenech: download, unzip, and use NATSORTFILES (following its documentation of course):
For example:
P = fullfile('C:\','users','fenec','Desktop','Cam 1');
S = dir(fullfile(P,'*.bmp'));
C = natsortfiles({S.name}); % sort filenames alphanumerically.
for k = 1:numel(C)
F = fullfile(P,C{k});
I = imread(F);
figure;
imshow(I,[]);
end
You can also sort the structure S by using the second output from NATOSRTFILES, which is the sort index.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!