PRÁCTICA 2
PROCESAMIENTO DE IMAGEN Y VÍDEO
Paula Ríos Sánchez
4. Histograma de una imagen
Determina el histograma de la imagen de la figura 9
Este histograma representa gráficamente la distribución de frecuencias de la siguiente
imagen, observamos que está fuertemente desplazado al lado izquierdo donde se encuentran
la zona de tonos oscuros y que disminuyen considerablemente los tonos cercanos al blanco.
5. Transformaciones puntuales
a) Aplica a la imagen de la figura 9 una transformación que ajuste los tonos de
gris al rango [0 255]
La transformación más sencilla es la siguiente:
Para encontrar el valor de la pendiente para la imagen
'[Link]' vamos a trazar cuál sería la curva de
transformación en MATLAB.
Para ello invocamos los siguientes comandos:
La función para
realizar la
ecualización de un
histograma es histeq
Transforma una imagen en una escala de grises, en
una imagen en escala de grises con n niveles de gris
discretos.
Digamos que a partir de el valor 195 ya no hay
pixeles o escasean en esa tonalidad.
Para aumentar el contraste [0 195] -> [0 255]
Vamos a usar el programa de abajo ya que hace lo mismo pero en double.
El programa realizará el ajuste de los tonos de gris del intervalo [0 190] al intervalo [0 255]
mediante el comando imadjust, para ello realizaremos la siguiente operación:
195/255 = 0.765
ANOTACIONES:
b) Aplica a la imagen de la figura 13(a) una
Para desplazar una imagen restamos a
transformación que aumente el contraste en
todas las intensidades el mínimo de la
las regiones más claras a costa de reducirlo en
matriz de intensidades:
las más oscuras. Desp = I - min(I(:));
Si expandimos la imagen por un lado, debemos encogerla por el otro.
[0 c] -> [0 ac] REDUCIENDO
[c 1] -> [ac 1] EXPANDIENDO
Debemos hacerlo con double para no perder la información.
Para tener la pendiente más pequeña debemos elegir un valor inferior a 1: (0-1) -> a
Observamos como notablemente se reducen los tonos
cercanos al blanco, dando más protagonismo a las
tonalidades oscuras de la imagen.
c) Aplica una transformación a la imagen de la figura 13 que aumente el contraste en
los tonos de gris intermedios (intervalo [0.4, 0.6]).
Para aumentar el contraste debemos expandir razonando a los rangos que tenemos
[0 0,4] -> [0 0,2] REDUCIENDO
[0,4 0,6] -> [0,2 0,7] EXPANDIENDO
[0,6 1] -> [0,7 1] REDUCIENDO
- a -> lo que queremos repartir.
- b -> a quienes queremos repartir.
Dibuja una imagen en la que aparezcan marcados en color blanco los píxeles
que disminuyen su contraste, en negro los que aumenten su contraste.
Debemos coger [0 0,4] y transformarlo a 1 junto a [0,6 1] mientras que a [0,4 0,6] le
asignamos el valor 0.
d) Aplica una transformación no lineal de la forma T(x)=ax2 , que mejore el contraste en
las zonas más claras. ¿Qué valor de a seleccionarías?
No tiene sentido usar double ya que tenemos una función cuadratrica
[0 ax2] (Valor de entrada) Debe haber mas contraste en las zonas
mas claras
[0 255] (Valor de salida)
e) Consigue una imagen binaria con fondo negro donde sólo aparezcan los objetos más
brillantes.
Imagen binaria: (Definición de Wikipedia) una imagen binaria es una imagen digital
que tiene únicamente dos valores posibles para cada píxel.Normalmente, los colores
utilizados para su representación son negro y blanco, aunque puede usarse cualquier
pareja de colores.
A partir de cierta intensidad se truncan las intensidades a 0 y el resto de intensidades
que sean menor a esta se dejan igual.
Para realizar la imagen como se observa en la línea
de comandos hemos invocado a 'imbinarize(I)' cuya
función es transformar una imagen en escala de
grises en una imagen binaria.
Resultado de la ejecución
del comando.
Escala de grises Imagen binaria