Práctica Nº1 Guide - Matlab
Práctica Nº1 Guide - Matlab
Práctica Nº1 Guide - Matlab
GUIA Nº1
ADQUISICION DE IMÁGENES MATLAB
USANDO LA INTERFAZ GRÁFICA GUI
Resumen—Estas instrucciones son una guía básica para la
preparación de un trabajo para ser presentado ante la Revista
Argentina de Trabajos Estudiantiles*. Este documento es en si
mismo un ejemplo del formato deseado (inclusive este Resumen) y
puede ser usado como una plantilla.
El Resumen esta limitado a 150 palabras y no debe contener
ecuaciones, figuras, tablas, o referencias. Debe concisamente Figura 1- Barra dirección de espacio de trabajo Matlab.
enunciar que fue hecho, como fue hecho, resultados principales, y
su trascendencia. La función que permite ingresar dichas imágenes al espacio
de trabajo es “imread()” la cual debe ser asignada a una variable
Abstract--Basic guidelines for the preparation of a technical que contendrá los datos digitales de la imagen, acorde a la ruta
work for the Revista Argentina de Trabajos estudiantiles* are establecida.
presented. This document is itself an example of the desired layout Para este caso se hará uso de la Ventana de Comandos
(inclusive of this abstract) and can be used as a template. “Command Window” para asignar a una variable “a” la lectura
The abstract is limited to 150 words and cannot contain de la imagen ‘escaladegrisis.png’, recordando que esta debe
equations, figures, tables, or references. It should concisely state
what was done, how it was done, principal results, and their encontrarse en el mismo directorio que se ha creado
significance. previamente, de lo contrario Matlab no encontrará dicha imagen
y presentará un error de apertura.
I. INTRODUCCIÓN
Este documento muestra el concepto del procesamiento de
una imagen digital, haciendo una introducción al manejo de la
interfaz grafica de MATLAB (GUIDE), cargando determinadas
imágenes en la interfaz, asignando algunos filtros y
características orientadas al procesamiento de estas.
Objetivo: Comprender el concepto de una imagen digital y Figura 2- Función imread en Command Window Matlab.
su procesamiento, implementando la interfaz grafica de
MATLAB. Al visualizar la variable asignada podremos ver la imagen
cargada como una matriz, la cual al ingresar el comando “size()”
II. CARGA DE IMÁGENES EN ESCALA DE GRISES EN GUIDE nos mostrará el tamaño de la imagen, lo cual se puede corroborar
tanto con el espacio de trabajo “workspace” como con la
A. Ingreso de archivos de imagen en MATLAB a través de la información de imagen de nuestro equipo.
Ventana de Comandos.
Entre las diferentes herramientas que nos ofrece Matlab a la
hora de realizar procesamiento de imágenes, existe una la cual
nos permite adquirir una imagen desde una ubicación
predeterminada en nuestro equipo. Una de las maneras prácticas
de implementar esta función es ubicar dichas imágenes en el
mismo directorio o ruta en que se ha creado nuestro proyecto, de
este modo basta con escribir dentro de la función el nombre
Figura 3- Workspace Matlab – Tamaño matriz de imagen “a”
exacto y la extensión de la imagen. Sin embargo, es importante
tener clara la ruta de nuestro espacio de trabajo, para esto
debemos hacer uso de la barra de dirección y corroborar el
directorio. Se recomienda no hacer uso de espacios o caracteres
especiales en la creación de dicha ruta.
b=imread(handles.direccion);
image(b);
axis image;
Figura 21- Filtros de color disponibles para el comando “colormap”. El cambio que se nota en las figuras 22 y 23 se debe a la
escala de color, en la figura 23 claramente especificamos la
Entonces el comando “colormap” para las imágenes de una escala de color en 255, mientras que, curiosamente no solo el
sola capa ya implementado en el botón “Proceso 2” permite colormap predefinido del image() en la figura 22 es el parula,
alterar la escala de color acorde al estilo que se desee también tiene una escala predeterminada la cual es 64. Al hacer
implementar, en este caso el “colormap(gray(255))” que en la la comparación del image() sin colormap y con
escala de color no altera el tono o la intensidad de grises con colormap(parula(64)), se obtiene el mismo resultado.
respecto a la imagen original (figuras 18 y 20). Vale la pena
aclarar que este comando solo produce este efecto en las
imágenes de una sola capa, por lo cual se puede ver este cambio
en la imagen del ejemplo, dado que se encuentra en escala de
grises, mientras en imágenes a color será imposible visualizar
estos cambios debido a sus tres capas de color (RGB).
D. Particularidades.
El signo de dos puntos (:) es uno de los operadores más útiles En el caso de la figura 30 el comando retorna los
de MATLAB, este permite crear vectores, generar subíndices de valores de la primera columna y la segunda columna.
arrays y especificar iteraciones de for.
• A(m,:) retorna la m-ava (mª) fila de la matriz A.
A continuacion se puede observar algunos de los usos mas
comunes de este:
• (𝑥 = 𝑗: 𝑘; ) este crea un vector x de espaciado
unitario con elementos [j,j+1,j+2,...,j+m] donde m
= fix(k-j). Si j y k son números enteros, entonces
esto es simplemente [j,j+1,...,k]. Por ejemplo:
Al leer la imagen y solicitar las dimensiones de esta, muestra Figura 38- GUIDE para imágenes a Color.
información de filas y columnas tal como con la imagen a escala
de grises, pero esta vez con una nueva información de capas. Para el botón “Original” se le asignará la visualización de la
imagen original mediante el comando “image()”, y a los botones
“Proceso 1”, “Proceso 2” y “Proceso 3” de momento, les serán
asignados comandos que modifiquen cada una de las capas de la
imagen entre los valores 220, 0 y 127 respectivamente.
Figura 42- Imagen Modificada en sus pixeles por capas con valor de 127.
Figura 39- Imagen a color original
El motivo por el cual se pierde por completo la percepción de
Los cambios aplicados a cada canal de la imagen se verían de la imagen, permitiendo ver nada más el color aplicado en la
la siguiente manera. escala de color, es precisamente debido al reemplazo de los
valores de los pixeles de cada capa por el entero asignado a la
capa de color. Como se explicó en el apartado anterior uno de
los comandos de alteración de arreglos permite reemplazar todos
los valores de una matriz por un valor específico tal como sucede
en las figuras 40, 41 y 42, cada uno con un valor de color
diferente.
b(:,:,1)=200;
b(:,:,2)=200;
b(:,:,3)=200;
Figura 40- Imagen Modificada en sus pixeles por capas con valor de 200 .
Figura 41- Imagen Modificada en sus pixeles por capas con valor de 0. Figura 44- Información original del arreglo de la imagen.