Matlab - Guardar las imagenes en el guide para cuando vuelva a abrirlo

   
Vista:

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (3 intervenciones) el 29/11/2015 11:09:36
a,

necesito ayuda urgente!!

tengo una guide en la que cargo imágenes que están dentro de subcarpetas.

las características de cada imagen la guardo en un .txt.

Necesito programarlo de alguna forma para que cuando cierre la guide y la vuelva a abrir no tenga que volver a empezar de cero con cada imagen...sino que me permita seguir con la imagen que me quedé por ultima vez...

he pensado en guardar los datos que cargo en una matriz, y compararla con una base de datos..pero no consigo el resultado.

me habéis dado la opción de utilizar este código:

if ~exist('basededatos.mat')
% [nombre direct]=uigetfile('*.jpg','Abrir imagen');
% if nombre==0
% return
% end
% imagen1=imread(fullfile(direct,nombre));
% save('basededatos.mat','imagen1')
% end
% load basededatos
% %imshow(imagen1)

pero como tengo subcarpetas no me sirve cargar imagen1...
Por favor, necesito sacarlo ya. ¿Alguien tiene alguna idea?

muchas gracias,
Un saludo
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por JOSE JEREMIAS CABALLERO (3441 intervenciones) el 29/11/2015 14:04:56
http://www.lawebdelprogramador.com/foros/Matlab/1525589-Abrir-imagen-guide.html

Estimada usuaria de matlab. Solo haga una sola vez su pregunta. Según nuestra disponibilidad que tengamos podamos ayudarle en el foro.

saludos.
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

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (14 intervenciones) el 29/11/2015 17:05:23
Hola Jose,

perdona no sabia que no podía repetir las preguntas...pero de verdad me urge bastante.

Cuando puedas, por favor, ayúdame.

Gracias,
Un saludo
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 JOSE JEREMIAS CABALLERO

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 29/11/2015 17:10:24
Tu pregunta no he contestado porque es muy amplia y se tendría hacer un código completo para que funcione y eso implica tiempo. Deberías hacer preguntas muy puntales donde se te pueda ayudar, o en su defecto poner el codigo completo para poder ejecutarlo ejecutarlo y modificar en los puntos necesarios.

Como veras en este pregunta me he demorado mas de hora para hacerlo buscando distintas opciones , tal como quiere el usuario, pero lo que se pone en el foro es la respuesta final ya optimizada.

http://www.lawebdelprogramador.com/foros/Matlab/1525782-bucle-con-toggle-button.html

Y muchos usuarios pensaran que es facil de hacerlo, pero no siempre sucede eso. Si todos los usuarios del foro nos ayudaríamos mutuamente las preguntas serán contestadas en poco tiempo, pero no sucede eso.

saludos.

Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
jjcc94@hotmail.com
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (14 intervenciones) el 29/11/2015 18:18:09
Hola Jose,

pongo el código que tengo:
Necesito hacer algo para que me deje elegir a mi la imagen que quiero cargar y que cada vez que le de a nextimagen pase a la siguiente y no me vuelva al principio. O algo como que me lea el fichero de texto de las imágenes y si está que me de la opción de abrirla...pero he probado bastantes opciones y no lo consigo de ninguna forma.

Muchas Gracias de antemano.
Un saludo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
function varargout = INTERFAZ_OutputFcn(hObject, ~, handles)
 
global m
m=1;
 
Carpeta='C:\Users\Cristina\Documents\MATLAB\imagenes\';
 directorio= dir(Carpeta);
 isub = [directorio(:).isdir];
 subcarpetas = {directorio(isub).name}';
subcarpetas=subcarpetas(3:end);

 numsubcarpetas=length(subcarpetas);

 n=1;



%      [a]=textread('PRUEBA.txt','%s') ;
 for k=1: numsubcarpetas
 
     ruta{k,1}=fullfile(Carpeta,subcarpetas{k},'*.jpg');
     f=dir(ruta{k,1});
 
      for j=1:size(f,1)
 
     imagen1{n,1}=fullfile(Carpeta,subcarpetas{k},f(j).name) ;
       nombreimagen{n,1}=f(j).name;
 
        n=n+1;
%       
    end
 
 end
 
 
function nextimage_Callback(hObject, eventdata, handles)
global m
   m=m+1;
n=handles.n;
if m<n
imshow (handles.imagen1{m,1});
 fid=fopen('PRUEBA.txt','a');
   if fid>=0
     fprintf(fid,'%s \n',handles.nombreimagen{m-1,1});
     fclose(fid);
   end
 
 
function Cargar_Callback(hObject, eventdata, handles)
 
 
global m
if ~exist ('basedatos.imagen1.mat');
 [nombre direct]=uigetfile('*.jpg','Abrir imagen');
 if nombre==0
 return
 end
n=handles.n;
 m=m+1;
 
if m<n
 
 imagen1{n,1}=imread(fullfile(direct,nombre));
 
 save('basedatos.mat','imagen1')
 end
 load basedatos
 imshow(handles.imagen1(m,1));
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 JOSE JEREMIAS CABALLERO

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por JOSE JEREMIAS CABALLERO (3441 intervenciones) el 29/11/2015 18:25:00
Deberias ponenr tanto el fig y el m para poder ejecutar con lo que pones, tendría que reproducir el guide.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (14 intervenciones) el 01/12/2015 22:28:39
Hola,

dejo el código y la interfaz, a ver si alguien me puede ayudar, por favor.

Muchas gracias,
Un saludo
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

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (3 intervenciones) el 03/12/2015 13:36:08
¿Alguna idea?lo necesito bastante urgente...

Muchas gracias
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 Royeth

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Royeth jesus.royeth@gmail.com (760 intervenciones) el 29/11/2015 19:41:16
la solución para esto es sencilla , simplemente debes hacer un array de string con la ruta específica de cada imagen y una variable adicional que va a ser el contador para cuando cierres quede guardado el último valor

debes tener un array así ;

direcciones={'carpeta/imagen1.jpg' 'carpeta2/imagen1.jpg' 'carpeta3/imagen.jpg'};
valor=1;

luego guardas estas variables en una base de datos

save('basededatos','direcciones','valor')

luego en el ponening funcion la cargas y le das

a=imread(direcciones{valor});
imshow(a)


la funciónn anteriior y siguiente modificarían el valor
con valor=valor+1;

y valor=valor-1;
respectivamente

y la función de cerrar guardaría de nuevo la nueva base de datos

si tenés teamviewer puedes contactarme y te ayudo con mucho gusto

saludos
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar

Guardar las imagenes en el guide para cuando vuelva a abrirlo

Publicado por Cristina (3 intervenciones) el 04/12/2015 20:31:34
Por favor....necesito ayuda.
Nadie tiene ninguna idea???

Gracias
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