• No se han encontrado resultados

Guia Basica de GUI Imagenes Matlab

N/A
N/A
Protected

Academic year: 2021

Share "Guia Basica de GUI Imagenes Matlab"

Copied!
6
0
0

Texto completo

(1)

CONSTRUCCIÓN DE LA INTERFAZ GRÁFICA DE MATLAB

(Principios fundamentales)

1. Abrir el GUI.

En la barra de herramientas hacer clic en el icono respectivo (1) para ingresar al GUI. En la siguiente ventana escoger la opción por defecto (2) y presionar OK (3).

Por defecto aparece la ventana de trabajo en blanco, allí se selecciona la herramienta Push Button (1), y en la cuadrícula se describe un rectángulo para la creación de un botón (2), este botón por defecto es denominado pushbutton1. El nombre del botón y su denominación se pueden modificar haciendo doble clic sobre él y redefiniendo los parámetros de Tag y String. Por ahora se modifica el campo String y allí se coloca el texto “mostrar” (3).

Haciendo un clic derecho sobre el botón, se selecciona la opción “View Callbacks>>Callback”, allí se visualiza el código a ser ejecutado. En la parte inferior de la línea “function pushbutton1_Callback(hObject, eventdata, handles)” se inserta la instrucción “msgbox('Esta es la imagen a mostrar')” (1). Si con anterioridad no se había guardado el programa deberá hacerlo asignándole su nombre y la ubicación adecuada.

3

1 2

2

(2)

Volviendo a la ventana de la interfaz se hace clic sobre el botón de ejecución (RUN) (1), y cuando aparece la ventana de la aplicación se hace clic sobre el botón “Mostrar” (2) y enseguida aparece el mensaje de texto indicado.

Se pueden cerrar las aplicaciones para volver a la ventana de edición de la interfaz.

2. Mostrar una imagen

De nuevo en la ventana de edición de la interfaz se adiciona un componente denominado “Axes” , para esto se pica en la herramienta respectiva (1) y se describe un cuadrado en el área de edición, allí aparece el cuadro axes1 con una cruz en su interior. Seguidamente se adiciona el código a=imread('balon5.jpg');imshow(a); justo antes del código adicionado anteriormente para la visualización del cuadro de diálogo. En el siguiente gráfico se aprecia esta nueva apariencia asociada al botón 1.

Se ejecuta de nuevo el programa (F5) y se presiona sobre el botón mostrar (2) y aparece en el recuadro la imagen respectiva.

1

1

(3)

3. Mostrar varias imágenes

Para el presente ejercicio se pretende visualizar inicialmente dos imágenes y una vez se presiona el botón, éstas cambian a formato blanco y negro. Para este propósito se debe ingresar un nuevo componente axes como en el caso anterior, este nuevo objeto por defecto tiene como nombre axes2.

En cuanto al código asociado se debe insertar en la parte final de la función cuyo encabezado contiene:

% --- Executes just before Interfaz is made visible.

function Interfaz_OpeningFcn(hObject, eventdata, handles, varargin)

A continuación se presenta el código completo asociado a esta función que es ejecutada, como lo indica su encabezado, un instante antes de que se haga visible la interfaz.

1

2

1

(4)

La programación referente a los botones contiene el código adicional siguiente:

Según la codificación anterior se debe tener en cuenta que antes de visualizar cualquier imagen con “imshow” se especifica el lugar (ó axes) para ser mostrado, en este caso se indica con la línea previa axes(handles.axes2). En donde el último subíndice especifica el lugar o campo de axes respectivo.

% --- Executes just before Interfaz is made visible.

function Interfaz_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn. % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Interfaz (see VARARGIN)

% Choose default command line output for Interfaz

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes Interfaz wait for user response (see UIRESUME) % uiwait(handles.figure1); axes(handles.axes1) fondo = imread('balon1.jpg'); axis off; imshow(fondo); %*-*-*-*-*-*-*-*-*-*-*-*-*-* axes(handles.axes2) fondo = imread('balon2.jpg'); axis off; imshow(fondo); Código insertado

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1) nn=imread('balon1.jpg'); a=im2bw(nn,.6); axis off; imshow(a); axes(handles.axes2) nn=imread('balon2.jpg'); a=im2bw(nn,.6); axis off; imshow(a);

msgbox('Esta es la imagen a mostrar')

guidata(hObject, handles); % Obligatoria para que guarde los datos Código insertado

(5)

En la ejecución del programa se tiene que inicialmente se visualizan dos imágenes y cuando se presiona el botón mostrar, éstas imágenes son convertidas a blanco y negro con un nivel de comparación de 0.6 como está especificado en el código.

En el siguiente gráfico se aprecian los resultados en la ejecución inicial y después de presionar el botón.

4. Control con slider

El componente “Slider” es un elemento de entrada de información para la interfaz por parte del usuario. El rango de valores por defecto está establecido entre [0 y 1.0], por tanto para este ejercicio no se va a manipular este parámetro.

Para agregar este componente se activa con un clic como se indica en el gráfico (1) y seguidamente se describe un rectángulo en el área de trabajo de la interfaz (2). Este objeto también genera su código asociado en donde se complementa con la información descrita a continuación.

1

(6)

En esencia se muestra la misma codificación del programa anterior, la variación está en la sentencia “get(hObject,'Value');” que corresponde a la captura del valor actual del Slide cuando ha sido manipulado, este valor es asignado a una variable denominada nivel que es utilizada para realizar la conversión a blanco y negro de las dos imágenes relacionadas para ser visualizadas finalmente en su respectiva ventana (Axes).

La representación visual se presenta a continuación en su condición inicial y cuando ha sido manipulado el control “Slider” a un nivel alto (1).

Faiver Humberto Trujillo González [email protected] 2010

% --- Executes on slider movement.

function slider1_Callback(hObject, eventdata, handles)

% hObject handle to slider1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider

% get(hObject,'Min') and get(hObject,'Max') to determine range of slider axes(handles.axes1) nivel=get(hObject,'Value'); nn=imread('balon1.jpg'); a=im2bw(nn,nivel); axis off; imshow(a); axes(handles.axes2) nivel=get(hObject,'Value'); nn=imread('balon2.jpg'); a=im2bw(nn,nivel); axis off; imshow(a); Código insertado 1

Referencias

Documento similar

Coverage values obtained with image analysis software, ImageJ and Matlab; show, to a certain extent, the deviations because the quality of their results depends on the quality

% eventdata reserved - to be defined in a future version of MATLAB.. % handles structure with handles and user data

In the current version of our system a user evaluate a specific on- tology considering five different criteria (see Section 3). These five criteria can be divided in two

The Panel Data Toolbox introduces such set of functions, including estimation methods for the standard fixed, between and random effects models, as well as instrumental panel

function a_dist_Callback(hObject, eventdata, handles) function a_dist_CreateFcn(hObject, eventdata, handles) if ispc &&

As for the semi-supervised experiments with the data labelled by the k-NN algorithm, analysis of the obtained results (see Figure 4.6) shows that the use of unlabelled data in

Spectrum of the white noise signal at the output of the flanger filter implementation using Simulink... 26 As predicted in previous MATLAB implementations’ –see figures 17 and 18-, a

La palabra omnidireccional está formada por omni, que significa “todo” y direccional, haciendo referencia así a que tiene un campo visual de todas las direcciones. Es