PRÁCTICA PIDPRÁCTICA PIDAdelgazamiento de Adelgazamiento de
Imágenes RGBImágenes RGB
Mª Isabel Delgado Gordillo
Mabilia García de Leaniz T.
Ana María Herrera González
Fco. de Borja Mañas Álvarez
INDICEINDICE
1-. INTRODUCCIÓN
- CONCEPTOS BASICOS
- MORFOLOGÍA
2-. ADELGAZAMIENTO EN ByN
- CONCEPTOS BASICOS
- ALGORITMO
- EJEMPLO
3-. ADELGAZAMIENTO EN GRISES
- ALGORITMO EN GRISES I
- ALGORITMO EN GRISES II
- EJEMPLO
4.- CONCLUSIONES
5-. BIBLIOGRAFÍA
INTRODUCCIÓNINTRODUCCIÓN
- CONCEPTOS BÁSICOS
ADELGAZAMIENTO:Encoger una imagen manteniendo la conectividad de la misma.
BINARIZACIÓN:Proceso que transforma una imagen con múltiples niveles de gris a otra con dos niveles(blanco y negro).
UMBRAL DE BINARIZACIÓN:Valor de corte para realizar una binarización.
HISTOGRAMA:Representación gráfica que muestra el número de pixeles que poseen cada uno de los niveles de gris de la imagen.
INTRODUCCIÓNINTRODUCCIÓN
- MORFOLOGÍA
ETIQUETADO Y CUENTA DE COMPONENTES CONEXAS
Dada una imagen binaria, el proceso para etiquetar y contar el número de componentes conexas que tienees el siguiente:
INTRODUCCIÓNINTRODUCCIÓN
1.- Recorriendo la imagen de arriba abajo y de izquierda a derecha, para cada pixel p del color a tratar, estudiamos solamente los vecinos anteriores a él:
xxxxxxxxpptt
ssrrqq
xxxxxxxxpptt
xxrrxx
8-adyacencia 4-adyacencia
INTRODUCCIÓNINTRODUCCIÓNPuede ocurrir que:Puede ocurrir que:
1) 1) No tenga ningún vecino Se le asigna a No tenga ningún vecino Se le asigna a p p una una nueva etiqueta de componente conexa.nueva etiqueta de componente conexa.
2) 2) Tenga un solo vecino Se le asigna a Tenga un solo vecino Se le asigna a p p la la etiqueta del vecino.etiqueta del vecino.
3) 3) Tenga más de un vecino Se le asigna a Tenga más de un vecino Se le asigna a p p la la etiqueta de cualquiera de ellos y se guarda la relación entre etiqueta de cualquiera de ellos y se guarda la relación entre dicha etiqueta y la de los demás vecinos.dicha etiqueta y la de los demás vecinos.
INTRODUCCIÓNINTRODUCCIÓN
2.- Se vuelve a recorrer la imagen sustituyendo cada etiqueta por la representante de cada clase. Ejemplo:
0000 00 00 1100 110000 00 11 0011 001111 00 00 1111 11
0000 00 00 aa00 aa0000 00 bb 00bb 00cccc 00 00 bbbb bb
0000 00 00 aa00 aa0000 00 aa 00aa 00cccc 00 00 aaaa aa
bb==aa
n n componentes=2componentes=2
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
CONCEPTOS BASICOSCONCEPTOS BASICOS PUNTO SIMPLE:PUNTO SIMPLE: Píxel que al eliminarlo no modifica Píxel que al eliminarlo no modifica
el número de componentes conexas,blancas y el número de componentes conexas,blancas y negras, de la imagen.negras, de la imagen.
11 11 00
11 11 00
00 00 00
11 00 00
11 11 00
00 00 11
PUNTO SIMPLE PUNTO NO SIMPLE
4-adyacencia para blanco (0)
8-adyacencia para negro (1)
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
11 11 00
11 11 00
00 00 00
11 00 00
11 11 00
00 11 00
PUNTO SIMPLE
8-adyacencia para blanco (0)
4-adyacencia para negro (1)
PUNTO NO SIMPLE
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
CONCEPTOS BASICOSCONCEPTOS BASICOS PUNTO FINAL:PUNTO FINAL: Píxel que tiene un solo vecino.Píxel que tiene un solo vecino.
00 00 00
11 11 00
00 00 00
11 00 00
11 11 00
00 00 00
PUNTO FINAL PUNTO NO FINAL
4-adyacencia para blanco (0)
8-adyacencia para negro (1)
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
CONCEPTOS BÁSICOSCONCEPTOS BÁSICOS PUNTO AISLADO: PUNTO AISLADO: Píxel que no tiene ningún vecino Píxel que no tiene ningún vecino
de su mismo color.de su mismo color.
PUNTO AISLADO PUNTO NO AISLADO
4-adyacencia para blanco (0)
8-adyacencia para negro (1)
00 00 00
00 11 00
00 00 00
00 00 00
11 11 00
00 11 11
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
ALGORITMO
1) PASAR A ESCALA DE GRISES
Se transforma cada pixel de la imagen de entrada mediante la fórmula:
Salida = 0,299 * Rojo + 0,587 * Verde + 0,114 * Azul
Muestra microscópica Muestra microscópica original a colororiginal a color
Muestra microscópica en Muestra microscópica en grisesgrises
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
2) BINARIZAR IMAGEN
Se recorre cada pixel, se compara su nivel de gris con el umbral de binarización:
-- Si valor pixel >= umbral Salida = Blanco
-- Si valor pixel < umbral Salida = Negro
Muestra microscópica en Muestra microscópica en grisesgrises
Muestra microscópica Muestra microscópica binarizadabinarizada
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
3) ADELGAZAMIENTO
3.1) Mientras la imagen de entrada y de salida sean distintas, se recorre en los sentidos : N,S,E,O.
Norte
Sur
EsteOeste
Muestra microscópica en Muestra microscópica en Blanco y NegroBlanco y Negro
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
3.2) Para cada pixel y cada sentido de recorrido se debe comprobar:
3.2.1) El pixel tratado es negro y su vecino en el sentido de recorrido no lo es.
3.2.2) El pixel tratado no es punto aislado ni punto final.
3.3.3) El pixel tratado es un punto simple.
3.3) Si se cumplen las tres condiciones al pixel se podrá adelgazar.
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
...
ADELGAZAMIENTO EN ByNADELGAZAMIENTO EN ByN
- - EJEMPLOEJEMPLO
Muestra microscópicaMuestra microscópica
adelgazada en ByNadelgazada en ByN
Muestra microscópica Muestra microscópica original a colororiginal a color
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES I GRISES I
CONCEPTOS BÁSICOSCONCEPTOS BÁSICOS FUERZA DE UN CAMINO: FUERZA DE UN CAMINO: Se define la fuerza de un Se define la fuerza de un
camino Pcamino P11,...,P,...,Pnn como el valor mínimo de cualquier como el valor mínimo de cualquier punto del camino.punto del camino.
GRADO DE CONEXIÓN: GRADO DE CONEXIÓN: Es la fuerza máxima de Es la fuerza máxima de cualquier camino de P a Q.cualquier camino de P a Q.
F(i,j) = min{pPi,...,Pj}
G(i,j) = max{Fi,j}
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES I GRISES I
PUNTO SIMPLE: PUNTO SIMPLE: Punto que al ser reemplazado por el Punto que al ser reemplazado por el más claro de sus vecinos más claro de sus vecinos NO decrementaNO decrementa el grado de el grado de conexión de cualquier par de puntos de su 8-vecindad.conexión de cualquier par de puntos de su 8-vecindad.
150150 5050 150150
170170 100100 120120
160160 200200 150150
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES I GRISES I
PUNTO NO SIMPLE: PUNTO NO SIMPLE: Punto que al ser reemplazado Punto que al ser reemplazado por el más claro de sus vecinos, por el más claro de sus vecinos, decrementadecrementa el grado el grado de conexión.de conexión.
1010 1010 5050ii
1010 6060 9090
5050jj 1010 2020
Si cambiamos el píxel central por el menor de sus vecinos, el grado de conexión entre i y j cambia de 50 a 10
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES I GRISES I
PUNTO FINAL: PUNTO FINAL: Punto que sólo tiene un vecino con Punto que sólo tiene un vecino con un valor de gris más oscuro.un valor de gris más oscuro.
PUNTO AISLADO: PUNTO AISLADO: Punto con un valor de gris más Punto con un valor de gris más oscuro que el de todos sus vecinos.oscuro que el de todos sus vecinos.
5050 120120 5050
5050 110110 9090
7575 8080 2020
8080 110110 5050
1010 200200 9090
5050 1010 2020
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES I GRISES I
ALGORITMO:
1. Mientras la imagen sea adelgazada, para cada píxel:
1.1. Obtenemos un entorno 3x3 centrado en el píxel a tratar.
1.2. A partir de dicho entorno comprobamos que el píxel no sea final ni aislado y que no sea simple.
1.3. Si se cumple la condición anterior sustituimos el píxel por el mínimo de sus vecinos. En caso contrario el píxel no puede ser adelgazado.
NOTA: En cada iteración sólo se tratan aquellos puntos que tienen un vecino más claro en un lado específico (norte, sur,...)
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES II GRISES II
ALGORITMO:ALGORITMO:
1. Pasamos la imagen a color a escala de grises.1. Pasamos la imagen a color a escala de grises.
2. En este paso procedemos de igual forma que en el 2. En este paso procedemos de igual forma que en el
adelgazamiento en blanco y negro: mientras la imagenadelgazamiento en blanco y negro: mientras la imagen
sea adelgazada, la recorremos completa en los sentidos sea adelgazada, la recorremos completa en los sentidos
norte,sur, este y oeste.norte,sur, este y oeste.
3. Para cada pixel de la imagen que tratamos realizamos los3. Para cada pixel de la imagen que tratamos realizamos los
siguientes pasos:siguientes pasos:
100100 120120 150150 7070
9090 110110 130130 9090
100100 8080 100100 9090
100100 110110 9090 8080
255255 255255 255255
100100 120120 150150
9090 110110 130130
255255 252555
255255
255255 101000
120120
255255 9090 110110
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES II GRISES II
3) SELECCIÓN DE CANDIDATOS A ADELGAZAR
3.1) Para cada píxel de la imagen obtenemos un entorno 3x3
centrado en el píxel a tratar.
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES II GRISES II
3.2) Binarizamos el entorno obtenido tomando como umbral el nivel de gris del píxel central.
255255 255255 255255
100100 120120 150150
9090 110110 130130
255255 255255 255255
00 00 255255
00 00 255255
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES II GRISES II
3.3) Comprobamos que el píxel no es un punto aislado ni final.
3.4) Calculamos el número de componentes conexas del entorno y comprobamos que no varía tras cambiar el píxel central de negro a blanco.
3.5) Si se cumplen las condiciones anteriores el píxel se puede adelgazar, luego, lo sustituimos por el mínimo de sus vecinos. En caso contrario conserva su valor original.
ADELGAZAMIENTO EN ADELGAZAMIENTO EN GRISES II GRISES II
- EJEMPLO
Muestra microscópica originalMuestra microscópica original Muestra adelgazada en grisesMuestra adelgazada en grises
CONCLUSIONESCONCLUSIONES
- El algoritmo en blanco y negro funciona bien, pero tarda mucho debido a que es necesario contar las componentes, de la imagen completa, cuatro veces cada vez que se analiza un píxel de la misma.
- El algoritmo en grises que hemos diseñado reduce este tiempo ya que se cuentan los componentes de un entorno 3x3 cada vez.
- Hay que tener en cuenta que no es lo mismo binarizar una imagen completa que un entorno 3x3 en el que utilizamos como umbral el píxel central, por lo que el resultado puede diferir un poco.
CONCLUSIONESCONCLUSIONESAPLICACIONES:
Biomedicina:- Contar leucocitos en la sangre.- Contar cromosomas.- Análisis automático de rayos X.- Detección automática de tumores.
Industria:- Detección de defectos en objetos.- Clasificación.- Posicionamiento.
Seguridad:- Clasificación de huellas digitales.- Identificación (facial, retina...).- Detección de incendios.
BIBLIOGRAFÍABIBLIOGRAFÍA
- “Digital Image Processing”, WILLIAM K. PRESS
Ed. Wiley-Interscience
- “The Image Processing Handbook”, JOHN C. RUSS
Ed. CRC Press – IEEE Press
- “Digital Image Processing”, R. GONZALEZ & R. WOODS
Addison-Wesley Publishing Company
- www.dai.ed.ac.uk/HIPR2/thin.htm
- www.reindeergraphics.com/tutorial