2009-06-29 12 views

Antwort

2

Wie werden Ihre Bilder in Matlab gespeichert? Als Matlab-Film oder als 3- oder 4-dimensionale Matrix, abhängig davon, ob die Bilder Farbe oder Graustufen sind. Wenn Sie über die Bildverarbeitungs-Toolbox und immovie verfügen. Eine andere Option vorausgesetzt, dass Ihre Bilder in einer mxnx3xk (RGB-Farbe) oder einer mxnxk (Graustufen) Matrix sind. Dann sollte folgendes funktionieren. Unter der Annahme der folgenden

  • Img - Matrix Speichern von Bilddaten entweder mit den Abmessungen mxnx3xk oder mxnxk

  • handles.imageAxes - Griff für die Achse, die Sie Anzeige sichtbar sind das Bild (den Tag der Achse zu imageAxes in GUIDE)

Jetzt können Sie Schleife durch 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 

das ist es.

6

Ich bin mir nicht ganz sicher, was Sie tun wollen (speziell welche Art von Bildern, die Sie anzuzeigen versuchen), aber hier einige Beispielcode, der tun kann, was Sie wollen:

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 

I verwendet die allgemeine Funktion IMSHOW, aber das ändert manchmal andere Eigenschaften der Figur/Achsen und das mag nicht nach Ihren Wünschen sein (da Sie erwähnen, dies zu einer bestehenden GUI hinzuzufügen). Möglicherweise möchten Sie stattdessen die IMAGE-Funktion verwenden. Anstelle der for-Schleife können Sie auch eine while-Schleife verwenden, die den Bildwechsel stoppt, wenn eine Bedingung erfüllt ist (z. B. ein Tastendruck).