Matlab - Error al mostrar imagenes con imshow en 2 axes diferentes.

 
Vista:
sin imagen de perfil

Error al mostrar imagenes con imshow en 2 axes diferentes.

Publicado por Francsico Antonio (1 intervención) el 15/06/2018 02:40:31
Hola

El motivo de esta consulta es porque estoy desarrollando un proyecto para mi universidad y tengo un problema con respecto a el uso de la función imshow.

Básicamente mi proyecto es un menú con una opción para leer una imagen, aplicarle algún cambio o modificación y posteriormente mostrarlas en la interfaz gráfica, el problema es que tengo 2 "axes" con los nombres axes3 y axes4 y quiero que en el axes3 permanezca la imagen original pero en el axes4 se muestre la imagen actualizada; cada que usi la función imshow se actualizan los 2 axes.

El fragmento de mi código es el siguiente:


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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
% --------------------------------------------------------------------
function menu_abri_Callback(hObject, eventdata, handles)
% hObject    handle to menu_abri (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% Abrir el explorador de archivos para escojer la imagen.
global datos_imagen;
global datos_mapa;
 
abrir_imagen
axes(handles.axes3)
imshow(datos_imagen, datos_mapa);
axis off;
disp(handles)
guidata(hObject, handles);
 
 
 
 
 
 
% --------------------------------------------------------------------
function menu_oper_Callback(hObject, eventdata, handles)
% hObject    handle to menu_oper (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
 
 
% --------------------------------------------------------------------
function borra_paleta_Callback(hObject, eventdata, handles)
% hObject    handle to borra_paleta (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global datos_imagen2;
global datos_mapa2;
 
global datos_imagen;
global datos_mapa;
 
global formato_global_imagen;
 
if strcmp(formato_global_imagen, 'indexed')
 
    datos_mapa2 = rgb2gray(datos_mapa2);
    l4 = axes(handles.axes4);
    imshow(datos_imagen2, datos_mapa2);
    axis off;
else
    msgbox('Seleccione una imagen indexada para aplicar esta operación', 'Solución');
    msgbox('La imagen que seleccionó no es una imagen indexada', 'Error');
end
 
 
 
 
 
function abrir_imagen()
global nombre_global_imagen;
global ruta_global_imagen;
global formato_global_imagen;
global datos_imagen;
global datos_mapa;
global datos_alpha;
 
global datos_imagen2;
global datos_mapa2;
global datos_alpha2;
 
% Leemos una imagen.
[nombre_archivo, ruta_archivo] = uigetfile('*.BMP;*.bmp;*.PNG;*.png;*.jpg;*.JPG;*.JPEG;*.jpeg;*.tiff;*.tif','Imagenes soportadas');
 
% Verificamos que se haya abierto una imagen.
if ~isequal(nombre_archivo,0)
    % Concatenamos la ruta y el nombre de la imagen.
    direccion_archivo = strcat(ruta_archivo, nombre_archivo);
 
    % Obtenemos el formato de la imagen.
    informacion_imagen = imfinfo(direccion_archivo);
 
 
    % Almacenamos el nombre, ruta de la imagen y formato.
    nombre_global_imagen = nombre_archivo;
    ruta_global_imagen = ruta_archivo;
    formato_global_imagen = informacion_imagen.ColorType;
 
    % Leemos la imagen en una variable.
    [datos_imagen, datos_mapa, datos_alpha] = imread(direccion_archivo);
 
    datos_imagen2 = datos_imagen;
    datos_mapa2 = datos_mapa;
    datos_alpha2 = datos_alpha;
 
else
    msgbox('No se abrió una imagen','Error');
end


Les muestro el funcionamiento y el problema con capturas de pantalla y código:

https://www.dropbox.com/sh/69thpvit4halsip/AAAy9aS9JenB2aJOFoB9s93ka?dl=0

https://www.dropbox.com/s/g7pd7bc88tdodgx/Captura%20de%20pantalla%20%28127%29.png

https://www.dropbox.com/s/if29lx2ir8e3drb/Captura%20de%20pantalla%20%28128%29.png

https://www.dropbox.com/s/if29lx2ir8e3drb/Captura%20de%20pantalla%20%28128%29.png

https://www.dropbox.com/s/i9vcavtp8m0b7wu/Captura%20de%20pantalla%20%28130%29.png
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