SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego...

29
SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12

Transcript of SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego...

Page 1: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

SUBSTRACCIÓN DE IMÁGENES

Acosta García, PedroCampos Rodríguez, Alejandro

Bellido Moreno, DiegoBaños Rios, Rafael A.

Trabajo Dirigido Número 12

Page 2: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

¿Qué es la substracción de imágenes? I1,I2 imágenes binarias nxn

Is= I1-I2

0 si I1(i,j)=I2(i,j)

Is = 1 en c.c.

Page 3: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Formas de calcular la substracción 1. Resta aritmética

Is= |I1(i,j)-I2(i,j)|

2. Operación lógica XOR Is = I1(i,j)I2(i,j)

1i,j n

Page 4: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Consecuencias

Si I1 e I2 son imágenes tomadas de la misma escena, Is(i,j)=1 indica que el pixel (i,j) no es el mismo en ambas imágenes.

Se puede hablar entonces de MOVIMIENTOS ó CAMBIOS en una imagen con respecto a la otra.

Page 5: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Ejemplo

I1

I2 Is = I1 - I2

Page 6: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

¿Dónde se aplica? Detección de impurezas de átomos

en la estructura de un material, mediante la substracción de fotos de cámaras de rayos-X.

Page 7: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

¿Dónde se aplica? Detección del movimiento de las

células como respuesta a impulsos químicos (y por tanto de su movimiento) mediante substracción de diapositivas.

Page 8: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

CONTROL DE CALIDAD DE CHIPS EN PLACAS

Placa original Placa secundaria (a comparar con la

original) Proceso: Detectar CHIPS que están MAL

COLOCADOS ó FALTAN en la placa secundaria

Informar dónde deben colocarse los CHIPS que faltan ó están mal colocados

Page 9: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Ejemplo

Placa Original Placa Secundaria

INFORME:

• Chip 1 y 3 correctos

• Faltan chips 4,5,6

Page 10: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Características de la Imagen El tamaño de la imagen debe ser fijo

(640x480). El formato de la imagen es bmp con 24 bits

de color. Modo de representación del color RGB. La imagen debe de estar encuadrada (No se

permiten rotaciones ni traslaciones). La luminosidad de las imágenes debe de ser

similar.

Page 11: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Imagen Original ( RGB)

Imagen Secundaria (RGB)

ThresHolding(binaria)

ThresHolding(binaria)

Convolución(binaria)

Convolución(binaria)

Calculo Conexas(binaria)

Calculo Conexas(binaria)

Calculo Areas(binaria)

Calculo Areas(binaria)

Detección Chips(binaria)

Detección Chips(binaria)

SubstracciónImagen Secundaria

Modificada(RGB)

Pasos a realizar

Page 12: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Si Pixel(i,j) < Valor Umbral Pixel(i,j) = 0Si Pixel(i,j) Valor Umbral Pixel(i,j) = 1

Thresholding

Es una técnica utilizada para convertir imágenes en color o escala de grises a imágenes binarias, a partir de un determinado valor umbral.

Page 13: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Thresholding En nuestra aplicación hemos usado esta técnica para eliminar la

información que no es necesaria para el análisis de la imagen. Sólo nos quedamos con aquellos valores que, previo análisis, hemos considerado que son similares a los de los chips.

Page 14: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

ConvoluciónDefinición de máscara: Una máscara es una matriz de tamaño N*M que se aplica a un entorno o parte de

una imagen centrada en el pixel(i,j). La aplicación de la máscara consiste en multiplicar cada elemento de la misma

por el equivalente en el entorno o parte de la imagen en cuestión, sumar todos los productos, y asociarlo al pixel(i,j).

K L

Pixel(i,j) = (Máscara(i,j)*Subimagen(i,j)) i=0 j=0

2 2 2

2 2 2

2 2 2

1 3 2

0 4 9

5 3 2

= 62 + + +...+ 58=4 4

Máscara Subimagen

Page 15: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Convolución La operación de convolución consiste en recorrer la imagen

global centrando la máscara en cada uno de los pixels, aplicar la máscara sobre ellos y guardar el resultado en lo que será la nueva imagen. (K-1)/2 (L-1)/2

IConvolución(n,m)= (Máscara(i,j)*Imagen(n+i,m+j)) i=- (K-1)/2 j= -(L-1)/2

Imagen Original Imagen Convolución

Page 16: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Cálculo de Comp. ConexasDefinición de Camino: Es una sucesión de puntos P0, P1, P2 . . . PN tal que la

distancia entre Pi y Pi+1 es 1 (Ya sea en 8-adyacencia ó 4-adyacencia).Definición de Conexa:

Una imagen es conexa si dados dos puntos cualquiera de la imagen existe un camino que los une.

4-adyacencia

8-adyacencia

Imagen

Page 17: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Cálculo de Comp. ConexasAlgoritmo: Recorremos la imagen de izquierda a derecha y de arriba hacia abajo

Cuando encontramos un pixel negro, verificamos los vecinos del pixel visitados anteriormente, y pueden darse dos casos: Si no tiene vecinos le asignamos una etiqueta nueva. Si tiene vecinos pueden darse dos nuevos casos:

Si todos los vecinos tienen la misma etiqueta se le asigna al pixel dicha etiqueta. Si todos los vecinos no tienen la misma etiqueta, elegimos una de las etiquetas de los vecinos, se la asignamos al pixel, y recorremos la imagen

desde el principio hasta el pixel sustituyendo el valor de aquellos puntos que tuvieran el valor de alguno de los vecinos por la etiqueta elegida anteriormente.

Al final del algoritmo cada componente conexa tiene asignado una etiqueta diferente.

Page 18: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Cálculo de Comp. ConexasAlgoritmo:

2 componentes conexas

Page 19: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Areas Sea C una componente conexa, su área Ai se calcula como la suma de pixeles de esa componente.

y

x0 1 2 3

1

4

432

Ai = 6

Page 20: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Perímetro Una vez calculada el área, llamaremos perímetro a una 4-tupla Pi(norte,sur,este,oeste), para cada componente conexa.

Esta 4-tupla contiene la información referente a los puntos que encuadran a cada CHIP.

Imagen original Resultado

Page 21: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Detección de chips

Sea Ci una componente conexa; sea Pi=(n,s,e,o) su perímetro asociado, y sea Ai su área.

Llamaremos:lado_mayor=max{(s-n+1),(e-

o+1)}lado_menor=min{(s-n+1),(e-o+1)}

Page 22: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Consideraremos a Ci un chip si cumple las siguientes condiciones geométricas:

lado_mayor = lado_menor lado_mayor 4 · lado_menor

y además, el área de dicha componente conexa debe estar rellena en un 90% , es decir:

Ai 0’9 ·lado_mayor ·lado_menor

(1)

(2)

Detección de chips

Page 23: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Sea Ci la componente conexa; además de cumplir (1) y (2), se le debe exigir lo siguiente:

lado_mayor 200

lado_menor 20

Detección de chips

Page 24: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Detección de chips

Page 25: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Substracción

Los colores vienen representados de manera hexadacimal

0xHHBBGGRR

HH: no utilizadoBB: nivel de azul entre 0 y 255 0x00000000:

NEGRO

GG: nivel de verde entre 0 y 255 0x00FFFFFF: BLANCO

RR: nivel de rojo entre 0 y 255

Información sobre colores para substracción

Page 26: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Substracción La tabla de verdad de una

substracción en RGB: 0x00FFFFFF = Blanco 0x00000000= Negrop(i,j) p’(i,j) p(i,j)-p’(i,j)Blanco Blanco NegroBlanco Negro BlancoNegro Blanco ? -0x00FFFFFFNegro Negro Negro

Page 27: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Utilización de XOR de imagen binaria:

p(i,j) p’(i,j) XOR(p(i,j),p’(i,j))0 0 00 1 11 0 1 1 1 0

Substracción

Page 28: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Utilización de XOR en RGB: 0x00FFFFFF = Blanco (B) 0x00000000= Negro (N)p(i,j) p’(i,j) XOR BLANCO XOR(XOR,BLANCO)

B B N B BB N B B NN B B B NN N N B B

Substracción

Page 29: SUBSTRACCIÓN DE IMÁGENES Acosta García, Pedro Campos Rodríguez, Alejandro Bellido Moreno, Diego Baños Rios, Rafael A. Trabajo Dirigido Número 12.

Substracción