Displaying a set of images from a folder
조회 수: 10 (최근 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!