Matlab - ¿como programar un botón de siguiente imagen mostrada en un axes?

   
Vista:

¿como programar un botón de siguiente imagen mostrada en un axes?

Publicado por yamilet (5 intervenciones) el 18/03/2014 02:31:55
hola que tal buenas tardes el problema que tengo es que no se si dentro de un GUI pueda programar que vallan mostrando imágenes una a una al ejecutar el botón les agradecería de antemano cualquier ayuda que me puedan dar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿como programar un botón de siguiente imagen mostrada en un axes?

Publicado por yamilet (5 intervenciones) el 18/03/2014 03:16:17
tengo el siguiente código solo que al ejecutar el botón se muestra toda la secuencia de las imágenes al mismo tiempo
y lo que yo quiero es crear un botón que valla cambiando las imágenes.

function pushbutton3_Callback(hObject, eventdata, handles)
mov=mmreader('C:\Users\yamilet\Desktop\practicas\caida.avi');
NF=mov.NumberOfFrames;
n=NF;
for i=1:1:n
imshow(['C:\Users\yamilet\Desktop\practicas\frame', num2str(i),'.jpg']);
axes(handles.axes1);
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge De Los Santos

¿como programar un botón de siguiente imagen mostrada en un axes?

Publicado por Jorge De Los Santos (212 intervenciones) el 19/03/2014 04:05:05
Hola Yamilet.

Por lo que veo estás haciendo esto en una GUI utilizando GUIDE, y creo entender que debes mostrar cada frame de un vídeo cuando presiones el PushButton. Si es así, puedes hacer lo siguiente:

En el "OpeningFcn" de tu GUI coloca las siguientes líneas de código:

1
2
3
4
global vid k nF
k=1;
vid = VideoReader('nombre_video.avi');
nF = vid.NumberOfFrames;


Lo cual te permitirá crear una estructura del vídeo leído y guardar esto en una variable global y utilizarlo en el resto de la programación.

En el Push Button coloca lo siguiente:

1
2
3
4
5
6
global k vid nF
axes(handles.axes1);
if k <= nF
    imshow(read(vid,k));
    k=k+1;
end


Y con ello cada vez que presiones el Push Button te mostrará el "frame" siguiente del vídeo.

Saludos y espero os sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar