2009-06-29 13 views

Odpowiedz

2

Jak przechowywane są twoje obrazy w programie Matlab? Jako film matlab lub 3 lub 4-wymiarowa matryca w zależności od tego, czy obrazy są kolorowe czy w skali szarości. Ponadto, jeśli masz zestaw narzędzi do przetwarzania obrazu, implay i immovie. Inna opcja przy założeniu, że twoje obrazy są w macierzy mxnx3xk (kolor rgb) lub mxnxk (skala szarości). Następnie powinny działać następujące. Zakładając następujące

  • Img - Data Matrix przechowywania obrazów albo o wymiarach mxnx3xk lub mxnxk

  • handles.imageAxes - uchwyt do osi chcesz wyświetlania obrazu (ustaw znacznik osi do obrazuAby w PRZEWODNIKU)

Teraz możesz pętla przez 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 

to wszystko.

6

nie jestem całkowicie pewien tego, co chcesz zrobić (konkretnie jaki rodzaj zdjęć, które próbują wyświetlać), ale oto niektóre przykładowy kod, który może robić to, co chcesz:

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 

użyłem ogólna funkcja IMSHOW, ale czasami zmienia to inne właściwości figury/osi i może nie odpowiadać twoim preferencjom (ponieważ wspomniałeś o dodaniu tego do istniejącego GUI). Zamiast tego możesz użyć funkcji IMAGE. Ponadto zamiast pętli for można użyć pętli while, która zatrzymuje przełączanie obrazów po spełnieniu warunku (np. Naciśnięcie przycisku).

Powiązane problemy