Sei sulla pagina 1di 14

INSTITUTO TECNOLGICO DE LA LAGUNA

ING. ELECTRNICA





Tpicos Avanzados de Mecatrnica y Control

Reporte de Prctica 4

Etiquetado y conteo de objetos



Nombre
Eduardo Luna Govea

N.C.
10131165


Facilitador
Ing. Juan Sifuentes Mijares


Torren, Coah., a lunes 10 de marzo del 2014
MARCO TERICO

Erosin
La erosin de la imagen binaria A por el elemento estructurante B est definida por:


donde B
z
es la traslacin de B por el vector z, esto es,


Dilatacin
La dilatacin se describe como un crecimiento de pixeles, es decir, se marca con 1 la parte del fondo de la
imagen que toque un pixel que forma parte de la regin. Esto permite que aumente un pixel alrededor de la
circunferencia de cada regin y as poder incrementar dimensiones, lo cual ayuda a rellenar hoyos dentro de la
regin.
La dilatacin de A por el elemento estructurante B se define por:
.

La dilatacin es conmutativa, tambin dada por:




Apertura
La apertura de A por B se obtiene por la erosin de A por B, seguida por la dilatacin de la imagen resultante
por B:


Cierre
El cierre de A por B se obtiene por la dilatacin de A por B, seguida por la erosin de la estructura resultante
por B:








Ilustracin 4.1 Imagen a tratar

Objetivo

Procesar una imagen cualquiera con fondo claro para realizar un conteo y separacin de objetos dentro de
sta imagen.


Procedimiento

Para el desarrollo de la prctica se toma una imagen con fondo claro para realizar el etiquetado y
conteo de sus elementos:













En donde se carga la imagen por medio del
comando READRGB. Igualmente se crea la
imagen equivalente en escala de grises.




Se determina el valor del AOD para verificar su contenido de grises y se redondea.


















Ilustracin 4.2 Imagen binarizada
Ilustracin 4.3 Deteccin de bordes

Binarizando imagen con un valor threshold de:














Se discriminan los valores por encima de T con
un valor de 255 (blanco) y 0 (negro) para los menores.




Se procede con la deteccin de bordes. Para ello
de emplea un algoritmo que pregunta por los
vecinos del pixel en cuestin J
i,j
donde si se
encuentra un 0 (negro) se coloca un valor 0 para
distinguir borde de objeto, de lo contrario se
dejar en blanco (255).










Se puede observar que existen inconsistencias dentro de los bordes de los objetos. Para resolver esto
se aplica una dilatacin de square 3x3.

Ilustracin 4.4 Imagen antes de dilatacin Ilustracin 4.5 Dilatacin 3x3
Ilustracin 4.6 Segunda pasada Ilustracin 4.7 Tercera pasada

Para este algoritmo se emplea una comparacin de los vecinos cercanos utilizando la operacin OR como
ejecutor discriminante.


























Para recuperar el tamao original de la imagen se procede a erosionar esta ltima matriz de valores.


En este algoritmo se emplea una operacin AND para
una mscara de vecinidad de 3x3, en donde si y solo
si, existen valores nicamente ceros (negro), ste
pixel tomar el valor de 0, en otro caso se pondr a
255.


Ilustracin 4.8 Imagen erosionada

Se procede con el etiquetado de objetos:

Para lograr este objetivo se implement un algoritmo de conteo de pixeles negros, en donde el incremento se
mapea ante la cantidad mxima de pixeles a contar dada por la relacin (COLS(B)-1)(ROWS(B)-1).
















En esta parte de del etiquetado se requiere
minimizar la informacin a una sola etiqueta por
objeto, para ello se emplea un algoritmo de
propagacin del valor mnimo, el cual emplea una
vecinidad square 3x3 tipo central.

Este algoritmo pregunta si existe un valor meno que
el valor del pixel en cuestin en sus pixeles vecinos, si
es as, lo duplica al centro y contina con el siguiente,
llevando as una marca circular de minoridad
reproducible.

En esta primera parte, el menor se extiende del
pixel[0,0], en j(regln), luego en i(columna), hasta el
mximo[N-1,M-1].

Despus en forma inversa respetando el oren regln-
columna.

Finalizando se procede en forma anloga cambiando
el orden de dispersin de los vectores a columna-
regln en ambos sentidos, para as, tener una
diseminacin en los cuatro sentidos de las esquinas
de la imagen hacia el centro, evitando as, ndices
parsitos no representativos.





Recorte parcial de borde

Debido a que los algoritmos de vecinidad excluyen los valores en los bordes de la imagen, esta se recorta para
eliminar valores no considerados en el etiquetado.













Clasificacin y diferenciacin de etiqueta nica

Para comprobar que las etiquetas de los objetos son nicas, se procede a evaluar si existe algn valor
repetido.




Para ello se enumeran todas las etiquetas en
un arreglo de una dimensin (array [ g
w
]), el
cual es evaluado objeto por objeto por el for
de valor incremental x 0..row(g)-1,
omitiendo la agregacin de un valor repetido
si dentro del vector auxiliar s
r
existe el valor
en cuestin g
x
.














Tabla 4.1 Ejemplo de rea
etiquetada







En la figura se muestra el resultado final de etiquetado donde es posible
apreciar las diferencias en separacin y el nmero de objetos identificables
reconocidos por el programa.








Para minimizar las diferencias de etiquetas y as mismo poder llamar a las regiones acotadas de una
forma mucho ms fcil, se emplea un algoritmo que enumera y cambia las etiquetas por valores
enteros con incremento unitario.


Para ello se emplea un algoritmo que reemplaza el valor de
t (inicialmente cargado con t=1) en los pixeles de la matriz
g
i,j
si el valor de la matriz etiquetada F2
i,j
corresponde a la
etiqueta a reemplazar proveniente del arreglo pre
consolidado de F1.


















Tabla 2 Array de etiquetas no repetidas







Para generar un ambiente ms grfico del etiquetado se aplica la tcnica de conteo e histograma de la
cantidad de etiquetas del mismo objeto para mostrar las diferencias en rea y separacin espacial de
cada objeto encontrado.



Este algoritmo cuenta cada etiqueta diferente de la
matriz I1
i,j
y la coloca en el ndice del valor de sta
etiqueta, formando un vector con el conteo de
todas estas.
































Ilustracin 4.9 Grafica de etiquetas y su ocurrencia





















Para realizar un conteo de mayor precisin, se vuelve a evaluar las diferentes etiquetas donde, en esta
instancia, se eliminan objetos con un rea o repetitividad menor o insignificante para los objetos de
inters, los cuales son considerados como ruido no deseado.






Este programa ejecuta una sumatoria total de los valores
de las etiquetas para determinar un volumen promedio y
generalizar reas de inters, eliminando aquellas en donde
el producto de la divisin del volumen total del objeto
sobre el volumen promedio es menor a 0.005, lo que
implica un volumen menor al 0.5% general.

As mismo se cuentan los ndices de las etiquetas que si
cumplieron con la condicin de cantidad suficiente antes
mencionada, entregando el programa la cantidad final de
objetos en la imagen.






Ilustracin 4.10 Objeto
detectado:1
Ilustracin 4.11 Objeto
detectado:2
Ilustracin 4.12 Objeto
detectado:3
Finalmente, ya determinadas las etiquetas y el nmero de objetos diferentes no contiguos que existen
en la imagen, se procede a llamar los valores originales a color, de cada objeto, denotado ste, por las
mscaras de etiquetas creadas durante el programa.








Este algoritmo copia los valores de
cada submatriz creada anteriormente
de la descomposicin de la imagen
original, de acuerdo a la mscara de
etiquetas y al valor de stas que se
quiere mostrar.
































Ilustracin 4.13 Objeto
detectado:4
Ilustracin 4.14 Objeto
detectado:5
Ilustracin 4.15 Objeto
detectado:6
Ilustracin 4.16 Imagen a
procesar
Ilustracin 4.17 Grafica de etiquetas y ocurrencia de
stas
Tabla 4.3 Etiquetas y sus valores
indizados








OTROS EJEMPLOS

































Ilustracin 4.18 Objetos separados
Ilustracin 4.19 Imagen a
procesar
Ilustracin 4.20 Grafica de
etiquetas analizadas no
optimizadas
Ilustracin 4.21 Optimizacin de
etiquetas y eliminacin de
elementos menores






































Ilustracin 4.22 Algunos elementos detectados






CONCLUSIONES

Las operaciones morfolgicas son operaciones que se aplican a la imagen de entrada, sin cambiar el tamao
de la imagen de salida. En una operacin morfolgica, el valor de cada pxel en la imagen de salida depende
del valor de ese pxel en la imagen de entrada y su relacin con la vecindad. Por ello, definiendo el tamao y
forma de la vecindad (definido a travs de un elemento estructural) se puede crear una operacin
morfolgica, que altera el valor del pxel en la imagen de salida para simplificar los datos de una imagen,
preservar las caractersticas esenciales y eliminar aspectos irrelevantes. Logrando as la identificacin y
descomposicin de objetos, la extraccin de rasgos, la localizacin de defectos e incluso desde el
procesamiento de gestos faciales, hasta el conteo de clulas en aplicaciones mdicas.