how to display multiple images in matlab gui axes one by one by 10 second intervals??
조회 수: 1 (최근 30일)
이전 댓글 표시
only one axes and show a lot of images by 10 seconds intervals when I click start button. how can I do?
댓글 수: 0
답변 (1개)
Jan
2019년 1월 24일
"10 seconds" interval sounds like a job for a timer. Is "click start button" a part of the problem? If so, please explain this with details.
function StartButtonCallback(hObject, EventData, handles)
TimerUD.Folder = 'C:\Your\Images\';
TimerUD.Index = 0;
TimerUD.ImageH = image(handles.theWantedAxes, []);
TimerH = timer('ExecutionMode', 'fixedRate', ...
'Period', 10, ...
'TimerFcn', @timerCallback, ...
'UserData', TimerUD)
end
function timerCallback(TimerH, EventData)
TimerUD = get(TimerH, 'UserData');
TimerUD.Index = TimerUD.Index + 1;
% A bold guess how to get the next image:
Img = imread(fullfile(TimerUD.Folder, sprintf('File%d.png', TimerUD.Index)));
set(TimerUD.ImageH, 'CData', Img);
end
I had to guess a lot of details: Where do you want to display the image? How is the callback of the "Start button" called? How to obtain the "next image"?
I did not implement how the timer is finished, when all images have been shown. This would require more guessing. Please add more details to questions.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!