how to display multiple images in matlab gui axes one by one by 10 second intervals??
조회 수: 2 (최근 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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!