Просто установите часовой пояс и вернитесь согласно
new Date().toLocaleString("en-US", {timeZone: "America/New_York"})
Я не совсем уверен в том, что вы хотите сделать (в частности, какие изображения вы пытаетесь отобразить), но вот пример кода, который может делать то, что вы хотите:
image1 = imread('cameraman.tif'); % Load a test image
image2 = imread('circles.png'); % Load another test image
hAxes = gca; % Get a handle to the current axes
for iLoop = 1:5, % Loop five times
imshow(image1,'Parent',hAxes);
pause(1);
imshow(image2,'Parent',hAxes);
pause(1);
end
Я использовал общую функцию IMSHOW , но это иногда меняет другие свойства фигуры / осей, и это может вам не нравиться (поскольку вы упомянули о добавлении этого в существующий графический интерфейс). Вместо этого вы можете использовать функцию ИЗОБРАЖЕНИЕ . Кроме того, вместо цикла for вы можете использовать цикл while, который останавливает переключение изображений при выполнении условия (например, при нажатии кнопки).
Как ваши изображения хранятся в Matlab? В виде фильма Matlab или 3-х или 4-хмерной матрицы в зависимости от того, являются ли изображения цветными или полутоновыми. Кроме того, если у вас есть набор инструментов для обработки изображений, implay
и immovie
. Другой вариант, предполагающий, что ваши изображения находятся в матрице mxnx3xk
(цвет rgb) или mxnxk
(шкала серого). Тогда должно работать следующее. Предполагая следующую
Img
- матрицу, хранящую данные изображения, либо с размерами mxnx3xk
или mxnxk
handles.imageAxes
-
ручка для оси, которую вы хотите
отобразить изображение (установить тег
оси к imageAxes в GUIDE)
Теперь вы можете перебрать Img
for i=1:k
% display the i^th image use `Img(:,:,i)` for a gray scale stack
image(Img(:,:,:,i),'parent',handles.imageAxes);
pause(1) % pause one second
end
в цикле.