Displaying a set of images from a folder
3 次查看(过去 30 天)
显示 更早的评论
Hello. I need to place a button in my app that displays all the images from a folder one after another with a time delay on a UIAxes and another button that opens a figure. I'm having problems with understanding the process behind opening files via code in matlab. Can anyone help me a bit in this matter?
0 个评论
采纳的回答
Walter Roberson
2021-9-19
编辑:Walter Roberson
2021-9-19
projectdir = 'path/to/image/directory';
ext = '.png'; %adjust according to kind of images
dinfo = dir( fullfile( projectdir, "*"+ext) );
fullnames = fullfile({dinfo.folder}, {dinfo.name});
nfiles = length(fullnames);
ax = app.axes1; %place you want the image to be shown
h = image(ax, []); %create image object with empty content
for K = 1 : nfiles
thisfile = fullnames{K};
[thisimg, thismap] = imread(thisfile); %handles pseudocolor and rgb both
h.CData = thisimg; %update the existing image object with the new image
if ~isempty(thismap); colormap(ax, thismap); end %if needed, update colormap
pause(0.2);
end
The above code does not, however, account for true grayscale images. You would detect those as thismap being empty and ndims(thisimg) is 2 .
2 个评论
Walter Roberson
2021-9-19
ext is used in
dinfo = dir( fullfile( projectdir, "*"+ext) );
So for example from .png it would construct the string "*.png" and that becomes the pattern that dir() is to search for -- files with that extension.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!