Professional Documents
Culture Documents
Lineal
de Imágenes
Universidad Nacional
Autónoma de México
Facultad de ingeniería
División de ciencias Básicas
Índice:
Introducción: 3
Conceptos Básicos: 4
Definición: . 4
Adición de Matrices: . 4
Multiplicación de Matrices: . 6
Imágenes y Matrices: 6
Imágenes Digitales:
6
.
RGB: . 6
Filtros aplicados mediante operaciones con matrices que representan una ima-
gen:
7
.
Ajuste de Canales:
7
.
Ajuste de Brillo: . 8
Escala de Grises:
10
.
Ajuste de Contraste: . 11
Sobre el Software: 13
Conclusiones: 14
Bibliografía: 15
Introducción:
En este proyecto, se pretende explicar de manera breve cómo es posible el manejo
o procesamiento de imágenes a través de la computadora y como utiliza una parte
de los conceptos aprendidos en la asignatura de Álgebra Lineal, particularmente
las operaciones con matrices.
Conceptos Básicos:
Definición:
a11 a12 ··· a1n
a21 a22 ··· a2n
.. .. .. ..
. . . .
am1 am2 ··· amn
[aij] Donde i = 1, 2, 3, … , m y j = 1, 2, 3, … , n
Adición de Matrices:
La primera de las operaciones con matrices es la adición, esta operación puede
efectuarse cuando las matrices son del mismo orden; Y el resultado se obtiene su-
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n.
eij = βaij
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n.
Multiplicación de Matrices:
Formalmente se tiene la siguiente definición para la multiplicación de matrices:
!n
k=1 aik bkj
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , q.
Imágenes y Matrices:
Imágenes Digitales:
Una imagen digital es una celda compuesta por unos elementos llamados pixeles,
que son los componentes más pequeños de una imagen digital.
Cada pixel es un espacio en la memoria de la computadora donde se almacena un
numero y este numero representa la definición del color y el brillo de una parte de
la imagen. Cada pixel puede definir un color solamente y el numero de pixeles
define la cantidad de información que contiene una imagen.
RGB:
Cualquier color puede ser representado mediante la combinación de los colores
rojo, verde y azul, cada uno en diferente proporción.
La combinación RGB estándar indica 256 niveles por cada canal, es decir por cada
color rojo, verde o azul.
Para representar el valor de 256, requerimos de 8 bits para cada canal de color. Lo
que nos permite una combinación del orden 2563 lo que nos permite una combi-
nación de casi 17 millones de colores. (16,777,216).
Ejemplo:
(151, 198, 255), (167, 202, 250), (178, 207, 249)
(176, 220, 255), (190, 223, 254), (197, 220, 253)
(209, 224, 245), (216, 229, 247), (217, 228, 246)
Ya sabido como podemos representar una imagen (RGB) formaremos una matriz
de dimensiones m x n, con elementos vectores en donde cada vector estará com-
puesto o constituido por 3 componentes (canales RGB), con valores contenidos en
los enteros de 0 a 255 en un intervalo cerrado.
Ajuste de Canales:
M +A=C
m11 m12 ··· m1n (0, p, 0) (0, p, 0) · · · (0, p, 0)
m21 m22 ··· m2n (0, p, 0) (0, p, 0) · · · (0, p, 0)
.. .. .. .. + .. .. .. .. + = C
. . . . . . . .
mm1 mm2 ··· mmn (0, p, 0) (0, p, 0) · · · (0, p, 0)
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n
C corresponderá a la imagen ajustada de M.
*Nota: Para ajustar el canal rojo cada elemento de la matriz de ajuste será: (p,0,0) y para el canal azul será
de elementos: (0,0,p).
Ajuste de Brillo:
El ajuste de brillo es uno de los ajustes más elementales dentro del ajuste de imá-
genes y uno de los más empleados.
El Brillo es el porcentaje de luminiscencia u oscuridad de un color. Puede ir desde
el 0% que significa negro, hasta el 100% que significa blanco.
M +B =C
m11 m12 ··· m1n (p, p, p) (p, p, p) · · · (p, p, p)
m21 m22 ··· m2n (p, p, p) (p, p, p) · · · (p, p, p)
.. .. .. .. + .. .. .. .. =C
. . . . . . . .
mm1 mm2 ··· mmn (p, p, p) (p, p, p) · · · (p, p, p)
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n
Donde M corresponde a la matriz imagen y C corresponderá a la imagen ajustada de M.
Esta operación consiste en invertir cada canal RGB a su negativo (Sí, suena re-
dundante). Por ejemplo, en una película fotográfica en la cual se plasman los colo-
res invertidos de la imagen real. Esto es que el blanco pasa a ser negro, el azul a
amarillo, verde a magenta y rojo a cyan.
La utilidad de este filtro, se encuentra en la digitalización de películas
fotográficas.
N −M =C
(255, 255, 255) (255, 255, 255) · · · (255, 255, 255) m11 m12 ··· m1n
(255, 255, 255) (255, 255, 255) · · · (255, 255, 255) m21 m22 ··· m2n
.. .. .. .. − .. .. .. .. =C
. . . . . . . .
(255, 255, 255) (255, 255, 255) · · · (255, 255, 255) mm1 mm2 ··· mmn
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n
Escala de Grises:
Las conversiones entre las imágenes de color y las imágenes en escala de grises no
son del todo directas. El ajuste de escala de grises consiste en la multiplicación de
cada componente por 3 constantes definidas: Alfa, Beta y Gamma. Posteriormente
se promedian las intensidades obtenidas en cada canal .
Este proceso sustrae toda la información de color que contiene cada pixel y nos
deja una separación de 255 niveles entre el blanco y el negro.
Estas 3 constantes se obtienen como la separación entre los canales RGB y el ne-
gro:
(g11 , g11 , g11 ) (g12 , g12 , g12 ) ··· (g1n , g1n , g1n )
(g21 , g21 , g21 ) (g22 , g22 , g22 ) ··· (g2n , g2n , g2n )
G= .. .. .. ..
. . . .
(gm1 , gm1 , gm1 ) (gm2 , gm2 , gm2 ) · · · (gmn , gmn , gmn )
Donde:
En donde los valores de alfa , beta y gamma son las siguientes constantes:
Alfa: 0.299
Beta: 0.599
Gamma: 0.11
Ajuste de Contraste:
El contraste, se refiere a la diferencia que existe entre las zonas oscuras y claras de
la imagen.
m11 m12 ··· m1n a11 a12 ··· a1n a11 a12 ··· a1n
m21 m22 ··· m2n a21 a22 ··· a2n a21 a22 ··· a2n
C = ( 255
1
.. .. .. .. − .. .. .. .. )kc + .. .. .. .. 255
. . . . . . . . . . . .
mm1 mm2 ··· mmn am1 am2 ··· amn am1 am2 ··· amn
Donde:
aij = 12 (1, 1, 1)
mij corresponde a la matriz M, que es la imagen a ajustar.
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n.
100+p
Y donde kc = 100
Sobre el Software:
El Software fue desarrollado en C# dentro de las suite Microsoft Visual Studio
2005. La cual consta de más de 300 lineas de código malicioso, indetectable por
su antivirus. Dicho código contiene cerca de 20 métodos implementados.
El flujo de trabajo es el siguiente:
7. Et voilá!
Conclusiones:
El desarrollo de este proyecto nos ha permitido demostrar una de las múltiples
aplicaciones del álgebra lineal y aplicar varios de los temas aprendidos en clase.
Esto nos ha motivado para entender que el álgebra lineal tiene una aplicación tan-
gible y real, en varias áreas como lo es el procesamiento de imágenes que tiene un
uso continua en la fotografía digital y los sistemas de control, entre otras cosas,
Have fun! :)
Bibliografía: