2009-06-29 21 views

Respuesta

2

¿Cómo se almacenan las imágenes en Matlab? Como una película de matlab o una matriz dimensional de 3 o 4 dependiendo de si las imágenes son en color o en escala de grises. Además, si tiene la caja de herramientas de procesamiento de imágenes, implay y immovie. Otra opción es asumir que sus imágenes están en una matriz mxnx3xk (color rgb) o mxnxk (escala de grises). Entonces lo siguiente debería funcionar. Asumiendo los siguientes

  • Img - matriz de datos de imágenes almacenamiento ya sea con dimensiones mxnx3xk o mxnxk

  • handles.imageAxes - mango para el eje que desea pantalla la imagen (fija la etiqueta del eje a imageAxes en GUÍA)

Ahora puede bucle a través de 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 

eso es todo.

6

no estoy totalmente seguro de lo que quiere hacer (específicamente qué tipo de imágenes que están tratando de mostrar), pero aquí hay algunos ejemplos de código que puede hacer lo que quiera:

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 

Solía la función general IMSHOW, pero esto a veces cambia otras propiedades de la figura/ejes y que puede no ser de su agrado (ya que menciona agregar esto a una GUI existente). Es posible que desee utilizar la función IMAGE en su lugar. Además, en lugar del ciclo for, puede usar un ciclo while que detiene el cambio de imágenes cuando se cumple una condición (como presionar un botón).

Cuestiones relacionadas