Показывать более одной фигуры один за другим в MATLAB - PullRequest
0 голосов
/ 13 марта 2011

У меня есть 20 цифр для отображения одна за другой, как слайд-шоу. Могу ли я сделать это с помощью Imshow в Matlab? Будем благодарны за любую помощь.

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

Пара вариантов:

  • Открыть фигуру для каждого сюжета
  • Открыть и закрыть фигуру для каждого графика
  • Повторное использование одной цифры

Открыть фигуру для каждого участка

for i=1:20
  h = figure;
  %plot here
  pause
end

Открыть и закрыть фигуру для каждого графика

for i=1:20
  h = figure;
  %plot 
  pause
  close gcf
end

Повторное использование одной цифры

h=figure
for i=1:20
    clf(h);
    %plot
    pause
end

ИЛИ, в зависимости от того, что вы планируете, вы можете использовать метод refreshdata .

Если вы используете метод @Jonas, и , если у вас есть два монитора, вы должны принудительно заставить цифру переключаться на основной монитор, чтобы getframe действительно работал, согласно . Вы можете сделать это через:

ff=figure;
movegui(ff)
1 голос
/ 13 марта 2011

Вы можете использовать MOVIE для отображения сюжетов / изображений одно за другим.Для этого вы создаете фигуры, захватываете их через GETFRAME , а затем вы можете позвонить movie.Смотрите этот пример из справки для getframe

Z = peaks; surf(Z)
axis tight
set(gca,'NextPlot','replacechildren');
for j = 1:20
    surf(sin(2*pi*j/20)*Z,Z)
    F(j) = getframe;
end
movie(F,20) % Play the movie twenty times
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...