GUARDAR IMAGEN Y GRÁFICA DE UNA GUI
Este programa es un ejemplo de cómo grabar una imagen procesada o bien una gráfica en un GUI.
Las condiciones iniciales del programa son:
function save_imag_plot_OpeningFcn(hObject, eventdata, handles, varargin) movegui(hObject,'center') img=imread('colores.tif'); axes(handles.axes1) imshow(img) axis off handles.img=img; |
El código del botón de procesamiento es:
% --- FUNCIÓN DEL BOTÓN "CONVERTIR" function convertir_Callback(hObject, eventdata, handles) % Convertir imagen img=handles.img; gris=rgb2gray(img); axes(handles.axes2) imshow(gris) % Mostrar el histograma I axes(handles.axes3) imhist(gris); % Mostrar el histograma II axes(handles.axes4) [counts,x] =imhist(gris); stem(x,counts) |
El botón para guardar la imagen y la gráfica tiene el siguiente código:
% --- FUNCIÓN DEL BOTÓN "GUARDAR" function guardar_Callback(hObject, eventdata, handles) % Guardar imagen % Obtener imagen del axes rgb = getimage(handles.axes2); if isempty(rgb), return, end % Guardar archivo formatos = {'*.jpg','JPEG (*.jpg)';'*.tif','TIFF (*.tif)'}; [nomb,ruta] = uiputfile(formatos,'GUARDAR IMAGEN'); if nomb==0, return, end fName = fullfile(ruta,nomb); imwrite(rgb,fName); % -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ formatos = {'*.bmp','BMP (*.bmp)'}; [nomb,ruta] = uiputfile(formatos,'GUARDAR HISTOGRAMA'); if nomb==0, return, end % Crear nueva figura figura = figure; % Unidades y posición unidades = get(handles.axes4,'Units'); posicion = get(handles.axes4,'Position'); objeto_2 = copyobj(handles.axes4,figura); % Modificar la nueva figura set(objeto_2,'Units',unidades); set(objeto_2,'Position',[15 5 posicion(3) posicion(4)]); % Ajustar la nueva figura set(figura,'Units',unidades); set(figura,'Position',[15 5 posicion(3)+30 posicion(4)+10]); % Guardar la gráfica saveas(figura,[ruta nomb]) %Cerrar figura close(figura) |
Puedes descargar el programa de ejemplo presionando el botón descargar.