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
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

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

Publicado por Jorge De Los Santos (213 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