Atom Blog

Mostrando las entradas con la etiqueta axes. Mostrar todas las entradas
Mostrando las entradas con la etiqueta axes. Mostrar todas las entradas

Como cargar Imagenes en Axes en GUI en Matlab y convertirlas en Matrices de datos



En este post leeremos y cargaremos 2 imagenes ubicadas en la carpeta donde se encuentran los archivos .m y .fig del programa.
Ambas imagenes seran leidas por la funcion imread() para luego ser mostradas en los axes.
Las imagenes son leidas como una matriz de datos binarios (En este caso ya que solo se trabaja con valores de 0=negro, 1=blanco).
Las imagenes son de tamano 8x8, por lo tanto cada matriz sera de dimensiones 8x8, donde cada posicion de la matriz contendra valores entre 0 y 1.

Las siguientes lineas de codigo representan el evento que se realizara al presionar sobre el boton "Cargar Images".

Seleccionamos el axes1.
axes(handles.axes1);
Guardamos el parth de la primera imagen
path = '\MATLAB\a2.bmp';
Leemos la imagen convirtiendola en una matriz
imag = imread(path);
Mostramos la imagen en el axes
imshow(imag);
Desabilitamos los ejes vertical y horizontal
axis off;
Mostramos la matriz que representa la primera
imagen y mostramos en un static text.
set(handles.text1,'String',num2str(imag));

Repetimos el procedimiento para la segunda
imagen que sera mostrada sobre el axes2.
axes(handles.axes2);
path = '\MATLAB\e0.bmp';
imag = imread(path);
imshow(imag);
axis off;
set(handles.text2,'String',num2str(imag));

Otra cosa importante que se debe de tomar en cuenta es que los "Static Text" deber ser modificados desde la GUI haciendo click derecho sobre cada static text y variando el valor de "max" hasta 10.




A continuacion en los enlaces siguientes se puede descargar los archivos e imagenes utilizados en el programa.





Como Utilizar y Elegir los Axes en GUI en Matlab


En este nuevo sencillo ejemplo mostraremos como utilizar los axes en la gui de matlab, graficando algunas funciones sobre los mismos.
Utilizaremos un boton para mandar a graficar las diferentes funciones sobre los 3 axes.
Ademas resolveremos el problema de no saber seleccionar el axes sobre el cual se requiere trabajar, para solucionar este problema utilizaremos la sentencia siguiente:



axes(handles.axes1);

Esta sentencia permite seleccionar el axes sobre el que se va a trabajar en ese instante.
En las siguientes lineas de codigo observamos que en la linea 4 se graficara sobre el axes1 que se selecciono con anterioridad en la linea 1.
Asimismo en la linea 9 se graficara sobre el axes 2 ya que se selecciono con anterioridad en la linea 6.

Las lineas 2 y 7 crean una variable que va desde 1 hasta 10/15 variando cada 0.001 para ser utilizada para graficar.

Las funciones plot() sirven para graficar sobre los axes seleccionados, permite colocar parametros como el LineWidth, el cual establece el ancho de la linea que se grafica.

axes(handles.axes1);
x1 = [1:0.001:10];
x2 = 2-x1*3;
plot(x1,x2,'red','LineWidth', 2.5);

axes(handles.axes2);
x1 = [1:0.001:15];
x2 = x1*3/9;
plot(x1,x2,'LineWidth', 2.5);



Para descargar los archivos del programa seguir los enlaces siguientes: