Atom Blog

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.





3 comentarios:

  1. Hola, me parece fácil de entender el código que has desarrollado. Tengo problemas para cargar las imagenes de 8x8, por ejemplo tengo la imagen de un triangulo y he hecho la imagen en formato bmp de 8x8, al momento de pasar cargar la imagen en el programa de modo gráfico la imagen se dsitorciona y la matriz me arroja números de 180 a 255 ¿sabes a que se debe?

    ResponderBorrar
    Respuestas
    1. Los números que te aparecen son debido a que la imagen se guarda en configuración RGB donde los colores se representan por una terna de valores que Matlab trabaja desde 0 hasta 255.

      Borrar
  2. Y como hago para cargarlas desde que se inicie el GUI, o sea sin necesidad de un puschbutton, solo iniciar GUIDE y la imagen se cargue.

    ResponderBorrar