Tratamiento digital de imágenes

Anuncio
Tratamiento digital de imágenes
Imagen
El término imagen monocroma o simplemente imagen, se refiere a una función
bidimensional representando intensidad de luz, donde x e y son las coordenadas
espaciales y el valor de f en cualquier punto (x,y) es proporcional al brillo (o nivel de
gris) de la imagen en ese punto.
Imagen digital
Es una imagen que ha sido discretizada tanto en coordenadas espaciales como en brillo.
Podemos considerar una imagen digital como una matriz cuyos índices de filas y
columnas identifican un punto en la imagen y el correspondiente elemento de matriz
identifica el valor de gris en ese punto.
Píxel:Acrónimo formado con las palabras inglesas 'Picture' 'element'. Es el elemento
simple de una imagen digital.
El color en una imagen digital
Según la definición anterior, la función de imagen digital representa un valor de brillo
en ese punto, pero cuando se quiere representar una imagen en color, esa interpretación
puede cambiar. Por ejemplo, en función de la división de colores en un cubo RGB,
podemos descomponer toda la imagen en tres bandas, cada una de ellas representando el
brillo de rojo, de verde y de azul respectivamente. El color visualizado en un punto
concreto será el resultante de combinar los valores de ese punto en las tres bandas, en la
proporción indicada por esos valores. O bien se puede tener una tabla de colores (una
paleta) y hacer que los valores de la imagen estén 'apuntando' a los colores de esa paleta.
De cualquiera de las formas podemos distinguir: blanco y negro, escala de grises, color
indexado 16, color indexado 256,. Los tipos de datos se diferencian por la resolución en
bits (número de bits de información de la imagen por píxel) y por el número de canales
que comprende la imagen. La resolución en bits determina cuántos colores o niveles de
gris puede representar cada píxel.
Blanco y negro
Cada píxel de una imagen en blanco y negro es blanco o negro. Los tonos intermedios
(grises) se crean ordenando los píxeles blancos y negros para simular gris. Es lo que se
llama técnica de 'dithering'.
Escala de grises
Cada píxel de una imagen en escala de grises puede ser uno de los 256 valores distintos
de gris, del negro (cero) al blanco (255). Este tipo de datos muestra suaves cambios de
tono utilizando tonos intermedios de gris. La resolución de una imagen en escala de
grises determina el tamaño de los píxeles y, en consecuencia, el número de píxeles de
una imagen. Cuanto mayor sea la resolución, los cambios de tono de gris serán más
1
suaves y por tanto más exacta la representación de la imagen (las imágenes de alta
resolución también utilizan más memoria).
Color indexado 16 y 256
En una imagen en color indexado, cada píxel puede ser uno de 16 o de 256 colores.
Estos colores vienen especificados en la tabla de colores de la imagen. A cada píxel se
le asigna un número que se refiere a un color de la tabla de colores. Los colores que no
estén disponibles en la tabla se simulan por ordenamiento y por proximidad con
respecto a los píxeles cuyos colores están disponibles. El tipo de datos de color
indexado 16 es el usado por la pantalla VGA estándar en modo de 16 colores. El tipo de
datos de color indexado 256 es el usado por la mayoría de las pantallas de 256 colores,
incluida la IBM 8514/A, XGA y los adaptadores VGA estándar en modo de 256 colores
con 320 x 200 píxeles y algunos adaptadores VGA especiales en modo de 256 colores.
Imágenes Digitales:
Una imagen digital es una celda compuesta por unos elementos llamados píxeles, que son los
componentes más pequeños de una imagen digital. Cada píxel 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 píxel puede definir un color solamente y el numero de píxeles 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 combinación de casi 17 millones de colores. (16,777,216).Existen
otras representaciones como el CYMK, pero no las abordaremos en este trabajo. Puesto
que solo trabajaremos con RGB.
Ejemplo:
Esta imagen mide 3 píxeles de ancho por 3 de alto.(Ha sido ampliada para
fines demostrativos).La matriz correspondiente a esta imagen sería una matriz de orden
3 tal:
(151,198,251) (167,202,250) (178,207,258)
(176,220,258) (190,223,253) (197,220,253)
(209,224,245) (216,229,247) (217,228,246)
Representación de una Imagen Digital mediante una matriz:
Ya sabido como podemos representar una imagen (RGB) formaremos una matriz de dimensiones m x n,
con elementos vectores en donde cada vector estará compuesto o constituido por 3 componentes
(canales RGB), con valores contenidos en los enteros de 0 a 255 en un intervalo
cerrado.
Filtros aplicados mediante operaciones con matrices que representan una imagen:
Dentro del procesamiento de imágenes existen algunos filtros básicos de frecuente empleo que funcionan
mediante operaciones con matrices, estos filtros se emplean principalmente en la fotografía digital, los que
hemos programado en este proyecto son los siguientes:
2
Ajuste de Canales:
Consiste en manipular la intensidad de únicamente un canal a la vez, ya sea el rojo, verde, o azul
independientemente.
Como ejemplo definamos el ajuste del canal verde:
M +A=C
(Esta ecuación será para ajustar el canal verde)
Donde mij corresponde a un vector (Rij, Gij, Bij) correspondiente a la Imagen.
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 sera 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.
La operación correspondiente al ajuste de brillo es la siguiente:
M +B=C
Donde mij corresponde a un vector (Rij, Gij, Bij) correspondiente a la Imagen.
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.
Y p es el parámetro de ajuste de brillo, cuyo estándar va de -100 a 100
3
Invertir colores (Negativo):
Esta operación consiste en invertir cada canal RGB a su negativo (Sí, suena redundante). Por ejemplo, en
una película fotográfica en la cual se plasman los colores 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.
La operación que corresponde a este ajuste es:
N −M =C
Donde mij corresponde a un vector (Rij, Gij, Bij) correspondiente a la Imagen.
Para i = 1, 2, 3, … , m y j = 1, 2, 3, … , n
C corresponderá a la imagen negativa de M
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 píxel 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 negro:
Alfa : Separación entre el rojo y el negro. (0.299)
Beta : Separación entre el verde y el negro. (0.599)
Gamma : Separación entre el azul y el negro. (0.111)
4
Modificaciones de Imágenes: Transponer la matriz
Matriz :
Imagen:
Matriz transpuesta :
Imagen:
5
Ajuste de color: Matriz
Imagen:
5
4
3
2
1
0
0
1
2
3
4
5
Matriz modificada: Ajustar el color Azul
Nueva Imagen:
5
4
3
2
1
0
0
1
2
3
4
5
6
Suma de matrices: matriz N (imagen negra)
Imagen N
5
4
3
2
1
0
0
1
2
3
4
5
Matriz M
M+N= C
Matriz C
7
Nueva Imagen C
5
4
3
2
1
0
0
1
2
3
4
5
4
5
Ajuste de brillo: Matriz M
Imagen:
5
4
3
2
1
0
0
1
2
3
Matriz N
8
M+N=C
Matriz C
Nueva Imagen C
5
4
3
2
1
0
0
1
2
3
4
5
A continuación se detalla como se usa el programa wxMaxima para realizar
la transformación de las imágenes:
En este caso se muestra como se realizaron las dos primeras imágenes para
la modificación de la matriz transpuesta:
9
El siguiente caso para el ajuste de color:
El siguiente caso es para la suma de matrices:
10
Y por ultimo el ajuste de brillo:
11
Descargar