Está en la página 1de 9

2019

Generar imagen pixel


por pixel

JARAMILLO AVALOS BRAYAN JOSE LUIS


MARTINEZ OLICON CRISTOFFER
TORRES MORALES RAFAEL HUMBERTO
GRUPO: 5551

GRAFICACIÓN
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un
software matemático que ofrece un entorno de desarrollo integrado (IDE) con un
lenguaje de programación propio (lenguaje M). Está disponible para las
plataformas de Unix, Windows y Apple. Entre sus prestaciones básicas se hallan:
la manipulación de matrices, la representación de datos y funciones, la
implementación de algoritmos, la creación de interfaces de usuario (GUI) y la
comunicación con programas en otros lenguajes. Además, se pueden ampliar las
capacidades de MATLAB con las cajas de herramientas (toolboxes). Para el caso
de manipulación de imágenes se emplea el toolbox “Image Processing”.

Leer una imagen:


>> f = imread (‘imagen1.jpg’)
>> f = imread (‘C:\imagenes\imagen1.jpg’)

La imagen a leer debe encontrarse en la carpeta de trabajo de Matlab. Los


formatos de imagen soportados por Matlab son: TIFF, JPEG, GIF, BMP, PNG,
XWD. Una imagen de color RGB se representa por tres matrices bidimensionales,
correspondientes a los planos R, G y B. Para obtener los planos RGB se ejecutan
los comandos:
>> Im_R = f(:,:,1)
>> Im_G = f(:,:,2)
>> Im_B = f(:,:,3)
>> [M,N] = size (f) M = número de filas, N = número de columnas
>> imshow (f, G)
Muestra la imagen f en pantalla donde G especifica el rango de intensidades. Si
omitimos G, se muestra la imagen con 256 niveles de gris por defecto.
>> impixel(f,i,j)
Acceder al pixel de coordenadas (i,j) de la imagen f.
>> whos f
Información adicional de la imagen: nombre, tamaño, bytes y clase.
El tipo de dato matriz, que contendrá una imagen puede ser de varios tipos (según
el tipo de dato de cada pixel):

- double: Doble precisión, números en punto flotante que varían en un rango


aproximado de -10308 a 10308 (8 bytes por elemento)
- uint8: Enteros de 8 bits en el rango de [0,255] (1 byte por elemento)
- uint16: Enteros de 16 bits en el rango de [0, 65535] (2 bytes por elemento)
- uint32: Enteros de 32 bits en el rango de [0, 4294967295] (4 bytes por elemento)
- int8: Enteros de 8 bits en el rango de [-128, 127] (1 byte por elemento)
- int16: Enteros de 16 bits en el rango de [-32768, 32767] (2 bytes por elemento)
- int32: Enteros de 32 bits en el rango de [-2147483648,2147483647] (4 bytes por
elemento)
- logical: Los valores son 0 ó 1 (1 bit por elemento)
Empezaremos creando la interfaz gráfica del programa.

Comenzaremos creando la función donde va a abrir la imagen, donde la va a leer


la imagen deseada y posteriormente almacenaremos la imagen de la interfaz con
un handles.
Posteriormente ponemos la línea de comando donde creara el archivo con
extensión .m donde se mandaran las coordenadas de la imagen. Utilizaremos size
para leer el tamaño de la imagen y posteriormente poder crear la matriz.
Se utilizaran dos for, donde uno recorrerá las coordenadas en x (filas) y otro
recorrerá las coordenadas en y (columnas).

Aquí indicaremos el cierre de la variable fi y por ultimo estará el método de la


función de salir de la interfaz gráfica.
En la interfaz gráfica tenemos tres botones, un botón tiene la función de abrir la
imagen deseada, el otro botón generara el código de la imagen con las
coordenadas y por último el botón de salir, el que simplemente cerrara la interfaz
gráfica.
El programa genera un archivo con extensión .m y dentro de este contiene las
coordenadas de la imagen, en este caso se generaron 50628.
Proyect
Conclusión.

Durante el desarrollo de nuestro proyecto surgieron diversos atrasos para poder


obtener un resultado final valido. El querer generar el código de una imagen de
una resolución muy grande trajo problemas, ya que Matlab indicaba que no había
suficiente memoria para ser ejecutado con el editor, por esta razón solo
cambiando la imagen por una con resolución igual (400x400, 100x100, 300,300,
etc), se pudo ejecutar el código en el editor y genero la imagen, pero con un filtro
azul aplicado en ella. Sin embargo con las practicas realizadas en clase y el
proyecto, se obtuvo un mayor conocimiento en el manejo del software Matlab, que
será de utilidad para las futuras prácticas y proyectos que se realicen
posteriormente.

También podría gustarte