substracciÓn de imÁgenes acosta garcía, pedro campos rodríguez, alejandro bellido moreno, diego...

Post on 02-Feb-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SUBSTRACCIÓN DE IMÁGENES

Acosta García, PedroCampos Rodríguez, Alejandro

Bellido Moreno, DiegoBañ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.

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

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.

Ejemplo

I1

I2 Is = I1 - I2

¿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.

¿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.

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

Ejemplo

Placa Original Placa Secundaria

INFORME:

• Chip 1 y 3 correctos

• Faltan chips 4,5,6

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.

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

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.

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.

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

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

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

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.

Cálculo de Comp. ConexasAlgoritmo:

2 componentes conexas

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

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

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)}

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

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

Detección de chips

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

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

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

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

Substracción

top related