imÁgenes digitales filtros secuenciales alternativos jesús manuel monroy carrasco tutor: pedro...
Post on 22-Jan-2016
217 Views
Preview:
TRANSCRIPT
IMÁGENES DIGITALESIMÁGENES DIGITALESFILTROS SECUENCIALES FILTROS SECUENCIALES
ALTERNATIVOSALTERNATIVOS
Jesús Manuel Monroy CarrascoJesús Manuel Monroy Carrasco
Tutor:Tutor: Pedro Real Jurado Pedro Real Jurado
Universidad de SevillaUniversidad de Sevilla
Escuela Superior de InformáticaEscuela Superior de Informática
J. M. Monroy CarrascoJ. M. Monroy Carrasco 22
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs. La nueva clase de ASFs. Propiedades. Resumen.Propiedades. Resumen. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 33
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs.La nueva clase de ASFs. Propiedades.Propiedades. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 44
Morfología matemáticaMorfología matemática La Morfología Matemática (MM) es una técnica no lineal de La Morfología Matemática (MM) es una técnica no lineal de
procesamiento de imágenes basada en operaciones de procesamiento de imágenes basada en operaciones de conjuntos.conjuntos. Desde el punto de vista geométrico la MM consiste en comparar Desde el punto de vista geométrico la MM consiste en comparar
los objetos a analizar con otro tipo de objeto de forma conocida, los objetos a analizar con otro tipo de objeto de forma conocida, denominado elemento estructural.denominado elemento estructural.
Permite extraer componentes de una imagen útiles en la Permite extraer componentes de una imagen útiles en la representación y descripción de la forma de una región representación y descripción de la forma de una región (contornos, esqueletos).(contornos, esqueletos).
Se usa para: digitalización, mejora, compresión, Se usa para: digitalización, mejora, compresión, restauración, segmentación.restauración, segmentación.
Una aplicación importante de la MM es el uso de filtros Una aplicación importante de la MM es el uso de filtros morfológicos para extraer componentes importantes de una morfológicos para extraer componentes importantes de una imagen.imagen.
El filtrado morfológico fue desarrollado por El filtrado morfológico fue desarrollado por MatheronMatheron.. SternbergSternberg añade una nueva clase de filtros. Los añade una nueva clase de filtros. Los ASFsASFs..
Elemento estructural
Objeto
J. M. Monroy CarrascoJ. M. Monroy Carrasco 55
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs.La nueva clase de ASFs. Propiedades.Propiedades. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 66
Morfología BinariaMorfología Binaria Trabaja con imágenes en blanco y negro.Trabaja con imágenes en blanco y negro.
Transformaciones morfológicas elementales:Transformaciones morfológicas elementales: Dilatación:Dilatación:
Es la unión de las traslaciones de A según B.Es la unión de las traslaciones de A según B.
Sea Sea A A y y BB conjuntos de conjuntos de IMAGENIMAGEN. . BB elemento estructural. elemento estructural.
BbyAabapZpBA ,:2
Elemento estructural
DilataciónA
B
J. M. Monroy CarrascoJ. M. Monroy Carrasco 77
void DilationBinary (TBitmap *BitmapIn, TBitmap *BitmapOut) { TColor *lineaScanIn, *lineaScanOut; int smin; int N = Mask->orden/2; int NCol = BitmapIn->Width-N; int NFil = BitmapIn->Height-N; BitmapOut->Assign(BitmapIn);
for(int y=N; y<NFil; y++){ for(int x=N; x<NCol; x++){ smin=0x00FFFFFF; //Blanco //Recorremos la Mask for(int j=-N; j<=N; j++) { lineaScanIn = (TColor *) BitmapIn->ScanLine[y+j]; for(int i=-N; i<=N; i++) if(Mask->pixel[N+j][N+i] == 0x00000000) //Negro if(lineaScanIn[x+i]< smin) smin = lineaScanIn[x+i]; } lineaScanOut = (TColor *) BitmapOut->ScanLine[y]; lineaScanOut[x]= smin; //pinto pixel en Negro (0x000000) } }}
Morfología BinariaMorfología Binaria
J. M. Monroy CarrascoJ. M. Monroy Carrasco 88
Morfología BinariaMorfología Binaria
Erosión:Erosión: Lugar geométrico de las posiciones del centro del Lugar geométrico de las posiciones del centro del
elemento estructural de modo que éste esté enteramente elemento estructural de modo que éste esté enteramente incluido en A.incluido en A.
Sea Sea A A y y BB conjuntos de conjuntos de IMAGENIMAGEN. . BB elemento estructural. elemento estructural.
Elemento estructural
DilataciónA
B
ABxBA x )(|
J. M. Monroy CarrascoJ. M. Monroy Carrasco 99
void ErosionBinary (TBitmap *BitmapIn, TBitmap *BitmapOut) { TColor *lineaScanIn, *lineaScanOut; int smax; int N = Mask->orden/2; int NCol = BitmapIn->Width-N; int NFil = BitmapIn->Height-N ;
BitmapOut->Assign(BitmapIn); for(int y=N; y<NFil; y++) { for(int x=N; x<NCol; x++) { smax=0x00000000; //Negro //Recorremos la Mask for(int j=-N; j<=N; j++){ lineaScanIn = (TColor *) BitmapIn->ScanLine[y+j]; for(int i=-N; i<=N; i++) if(Mask->pixel[N+j][N+i] == 0x00000000) //Negro if(lineaScanIn[x+i] > smax) smax = lineaScanIn[x+i]; } lineaScanOut = (TColor *) BitmapOut->ScanLine[y]; lineaScanOut[x]= smax; //pinto pixel en blanco (0xFFFFFFFF) } }}
Morfología BinariaMorfología Binaria
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1010
Morfología BinariaMorfología Binaria A partir de las operaciones básicas de erosión y A partir de las operaciones básicas de erosión y
dilatación podemos definir otras operaciones dilatación podemos definir otras operaciones más complejas:más complejas: AperturaApertura
Generalmente suaviza el contorno de una imagen, rompe Generalmente suaviza el contorno de una imagen, rompe istmos estrechos y elimina protuberancias delgadas.istmos estrechos y elimina protuberancias delgadas.
Cierre:Cierre: Tiende a suavizar secciones de contornos pero, en Tiende a suavizar secciones de contornos pero, en
oposición a la apertura, generalmente fusiona oposición a la apertura, generalmente fusiona separaciones estrechas y entrantes delgados, elimina separaciones estrechas y entrantes delgados, elimina huecos y rellena agujeros del contorno.huecos y rellena agujeros del contorno.
La apertura y el cierre simplifican la función o imagen original.
BBABA )(
BBABA )(
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1111
void OpeningBinary (TBitmap *BitmapIn, TBitmap *BitmapOut){ ErosionBinary(BitmapIn, BitmapOut); //Erosion BitmapIn->Assign(BitmapOut);//Copio la salida a la
entrada DilationBinary(BitmapIn, BitmapOut); //Dilatacion}
void ClosingBinary (TBitmap *BitmapIn, TBitmap *BitmapOut){ DilationBinary(BitmapIn, BitmapOut); //Dilatacion BitmapIn->Assign(BitmapOut);//Copio la salida a la
entrada ErosionBinary(BitmapIn, BitmapOut); //Erosion}
Morfología BinariaMorfología Binaria
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1212
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs.La nueva clase de ASFs. Propiedades.Propiedades. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1313
Morfología escala de grisesMorfología escala de grises
Trabaja con imágenes en escala de grises. Con Trabaja con imágenes en escala de grises. Con valores comprendidos entre [0, 255].valores comprendidos entre [0, 255].
Transformaciones morfológicas elementales:Transformaciones morfológicas elementales: Dilatación:Dilatación:
Se basa en elegir el valor max de (f+b) en un entorno Se basa en elegir el valor max de (f+b) en un entorno definido por la forma del elemento estructural.definido por la forma del elemento estructural.
Efecto doble: Efecto doble: 1.1. Si valores del E.S. Si valores del E.S. =>=> img. + oscura img. + oscura2.2. Detalles brillantes se reducen o se eliminan. Depende del Detalles brillantes se reducen o se eliminan. Depende del
nivel de gris que rodean al detalle brillante y de la forma y nivel de gris que rodean al detalle brillante y de la forma y valores del E.S.valores del E.S.
Sea Sea F F y y BB conjuntos de conjuntos de IMAGENIMAGEN. . BB elemento estructural. elemento estructural.
),(),(max)( jiBjyixfBf
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1414
void DilationGrayScale (TBitmap *BitmapIn, TBitmap *BitmapOut) { int x, y, i, j, smin, aux; TMask *a = new TMask; unsigned char *lineaScanIn, *lineaScanOut; int N = Mask->orden/2; int NCol = BitmapIn->Width-N; int NFil = BitmapIn->Height-N; InicializaMask(a, Mask->orden);
BitmapOut->Assign(BitmapIn); for(int y=N; y<NFil; y++) { for(int x=N; x<NCol; x++) { smin=0x00FFFFFF; // Blanco //Recorremos la Mask for(int j=-N; j<=N; j++) { lineaScanIn = (unsigned char *) BitmapIn->ScanLine[y+j]; for(i=-N; i<=N; i++) { aux = (int) lineaScanIn[4*(x+i)+1]; //Componente Verde a->pixel[i+N][j+N] = aux - Mask->pixel[i+N][j+N]; } }//Obtenemos el minimo for(j=-N; j<=N; j++) { for(i=-N; i<=N; i++) if(a->pixel[i+N][j+N] < smin) smin = a->pixel[i+N][j+N]; } if(smin<0x00000000) //Normalizamos smin = 0x00000000; //Negro lineaScanOut = (unsigned char *) BitmapOut->ScanLine[y]; lineaScanOut[4*x]= (unsigned char) smin; lineaScanOut[4*x+1]= (unsigned char) smin; lineaScanOut[4*x+2]= (unsigned char) smin; } }}
Morfología escala de grisesMorfología escala de grises
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1515
Morfología escala de grisesMorfología escala de grises
Ejemplo:Ejemplo:
Imagen Original Imagen Dilatada
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1616
Morfología escala de grisesMorfología escala de grises
Erosión:Erosión: Se basa en elegir el valor min de (f-b) en un entorno Se basa en elegir el valor min de (f-b) en un entorno
definido por la forma del elemento estructuraldefinido por la forma del elemento estructural Efecto doble: Efecto doble:
1.1. si valores del E.S. positivos si valores del E.S. positivos =>=> img. + brillantes img. + brillantes2.2. detalles oscuros se reducen o se eliminan. Depende del E.S.detalles oscuros se reducen o se eliminan. Depende del E.S.
Sea Sea F F y y BB conjuntos de conjuntos de IMAGENIMAGEN. . BB elemento estructural. elemento estructural.
),(),(min)( jiBjyixfBf
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1717
void ErosionGrayScale (TBitmap *BitmapIn, TBitmap *BitmapOut) { int x, y, i, j, smax, aux; TMask *a = new TMask; unsigned char *lineaScanIn, *lineaScanOut; int N = Mask->orden/2; int NCol = BitmapIn->Width-N; int NFil = BitmapIn->Height-N; InicializaMask(a, Mask->orden);
BitmapOut->Assign(BitmapIn); for(int y=N; y<NFil; y++) { for(int x=N; x<NCol; x++) {
smax=0x00000000; // Negro //Recorremos la Mask
for(int j=-N; j<=N; j++) { lineaScanIn = (unsigned char *) BitmapIn->ScanLine[y+j];
for(i=-N; i<=N; i++) { aux = (int) lineaScanIn[4*(x+i)+1]; a->pixel[i+N][j+N] = aux + Mask->pixel[i+N][j+N]; } }
for(j=-N; j<=N; j++) { for(i=-N; i<=N; i++)
if(a->pixel[i+N][j+N] > smin) smax = a->pixel[i+N][j+N]; } if(smax>0x00FFFFFF) smax = 0x00FFFFFF; //Blanco lineaScanOut = (unsigned char *) BitmapOut->ScanLine[y]; lineaScanOut[4*x]= (unsigned char) smax; lineaScanOut[4*x+1]= (unsigned char) smax; lineaScanOut[4*x+2]= (unsigned char) smax; }}
Morfología escala de grisesMorfología escala de grises
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1818
Morfología escala de grisesMorfología escala de grises
Ejemplo:Ejemplo:
Imagen Original Imagen Erosionada
J. M. Monroy CarrascoJ. M. Monroy Carrasco 1919
Morfología escala de grisesMorfología escala de grises A partir de las operaciones básicas de erosión y A partir de las operaciones básicas de erosión y
dilatación podemos definir otras operaciones dilatación podemos definir otras operaciones más complejas:más complejas: AperturaApertura
Se emplea para eliminar pequeños detalles (respecto al Se emplea para eliminar pequeños detalles (respecto al tamaño del elemento estructural) claros, dejando sin tamaño del elemento estructural) claros, dejando sin modificar los niveles de gris globales y los detalles modificar los niveles de gris globales y los detalles brillantes más grandes.brillantes más grandes.
Cierre:Cierre: En aplicaciones prácticas, se utiliza para eliminar los En aplicaciones prácticas, se utiliza para eliminar los
detalles oscuros de una imagen, mientras deja casi sin detalles oscuros de una imagen, mientras deja casi sin modificar los detalles brillantes.modificar los detalles brillantes.
BBfBf )(
BBfBf )(
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2020
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs.La nueva clase de ASFs. Propiedades.Propiedades. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2121
Morfología cromáticaMorfología cromática La morfología en color se desarrolla a partir de la La morfología en color se desarrolla a partir de la
morfología binaria o en escala de grises.morfología binaria o en escala de grises. Es necesario definir un retículo completo en los Es necesario definir un retículo completo en los
espacios de color que representen la información espacios de color que representen la información cromática de las imágenes digitales.cromática de las imágenes digitales.
Criterios de procesamiento:Criterios de procesamiento:
Procesamiento marginalProcesamiento vectorialProcesamiento híbrido
Inconveniente
No existe un orden “natural” para los datos multidimensionales
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2222
Morfología cromáticaMorfología cromática Procesamiento marginal:Procesamiento marginal:
Las técnicas morfológicas se implementan en cada uno de Las técnicas morfológicas se implementan en cada uno de los mapas cromáticos de manera independiente.los mapas cromáticos de manera independiente.
El retículo se forma sobre datos unidimensionales. El retículo se forma sobre datos unidimensionales. (Imágenes en escala de grises).(Imágenes en escala de grises).
Esquema de procesamiento RGB:Esquema de procesamiento RGB:
Posee un inconveniente importante: Genera falsos colores.Posee un inconveniente importante: Genera falsos colores.
Canal 1
Canal 2
Canal 3
Procesamiento
Procesamiento
Procesamiento
Canal 1
Canal 2
Canal 3
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2323
Morfología cromáticaMorfología cromática Procesamiento vectorial:Procesamiento vectorial:
En el tratamiento vectorial una única operación se En el tratamiento vectorial una única operación se implementa sobre la imagen, considerada como una implementa sobre la imagen, considerada como una composición de píxeles vectoriales indivisibles.composición de píxeles vectoriales indivisibles.
Esquema de procesamiento RGB:Esquema de procesamiento RGB:
Necesitamos establecer un orden para que trata todos Necesitamos establecer un orden para que trata todos los canales.los canales.
Canal 1
Canal 2
Canal 3
Procesamiento
Canal 1
Canal 2
Canal 3
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2424
Morfología cromáticaMorfología cromática Existen diferentes métodos de ordenación Existen diferentes métodos de ordenación
vectorial:vectorial: Orden canónico.Orden canónico.
Orden por una componente.Orden por una componente.
Orden según la distancia acumulada.Orden según la distancia acumulada.
Orden por reducción.Orden por reducción.
Orden por entrelazado de bits.Orden por entrelazado de bits.
Orden lexicográfico (orden condicional).Orden lexicográfico (orden condicional).
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2525
Morfología cromáticaMorfología cromática Orden canónico:Orden canónico:
Es un orden muy rígido. Es un orden muy rígido. Dado dos píxeles vectoriales Dado dos píxeles vectoriales PPii y y PPjj en el espacio Nen el espacio N33::
Es un orden parcial: No todos los vectores van a ser Es un orden parcial: No todos los vectores van a ser comparables:comparables:Por ejemplo: Por ejemplo: PiPi = (1, 2, 3), = (1, 2, 3), Pj =Pj = (3, 2, 1). (3, 2, 1).
Existirá ambigüedad a la hora de decidir ínfimos y Existirá ambigüedad a la hora de decidir ínfimos y supremos.supremos.
No ofrece tanta dependencia a espacios cromáticos como No ofrece tanta dependencia a espacios cromáticos como otros órdenes.otros órdenes.
'''
'
'
'
BBandGGandRR
B
G
R
B
G
R
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2626
Morfología cromáticaMorfología cromática Orden por una componente:Orden por una componente:
Dado dos píxeles vectoriales Dado dos píxeles vectoriales PPii y y PPjj en el espacio Nen el espacio N33::
Es pre-orden.Es pre-orden. HSI es adecuado eligiendo “I” para el orden.HSI es adecuado eligiendo “I” para el orden.
Orden según la distancia acumulada:Orden según la distancia acumulada: Sea Sea d:d: distancia en el conjunto de color. distancia en el conjunto de color. U = {uj}: conjunto de colores.U = {uj}: conjunto de colores.
Es pre-ordenEs pre-orden
'
'
'
'
RR
B
G
R
B
G
R
Uu Uu
jj
j j
uuduuduuUuu ),'(),(',', 2
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2727
Morfología cromáticaMorfología cromática
Orden por reducción:Orden por reducción:
Sea Sea d:d: distancia en el conjunto de color. distancia en el conjunto de color. UUrefref:: referencia del vector color. referencia del vector color.
Es pre-orden.Es pre-orden. Cualquier espacio de color es válido.Cualquier espacio de color es válido.
),'(),(',', 2refref uuduuduuXuu
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2828
Morfología cromáticaMorfología cromática Orden por entrelazado de bits:Orden por entrelazado de bits:
Son relaciones de orden total (todos los vectores son Son relaciones de orden total (todos los vectores son comparables).comparables).
Por cada vector es posible obtener un número entero Por cada vector es posible obtener un número entero único para cada combinación vectorial. Relación de orden único para cada combinación vectorial. Relación de orden ‘o’ biyectiva:‘o’ biyectiva:
o: No: N33 N N Cumple perfectamente la unicidad de ínfimo y supremo Cumple perfectamente la unicidad de ínfimo y supremo
(noción de retículo) y reduce la rigidez del orden (noción de retículo) y reduce la rigidez del orden canónico.canónico.
Consiste en formar un número entero (de 24bits) Consiste en formar un número entero (de 24bits) mediante la combinación de los bits de cada canal mediante la combinación de los bits de cada canal cromático.cromático.
El empleo del espacio RGB es el más idóneo.El empleo del espacio RGB es el más idóneo.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 2929
Morfología cromáticaMorfología cromática Orden lexicográfico (orden condicional):Orden lexicográfico (orden condicional):
Es el orden más flexible de todos.Es el orden más flexible de todos.
Dado dos píxeles vectoriales Dado dos píxeles vectoriales PPii y y PPjj en el espacio Nen el espacio N33::
Son relaciones de orden total (todos los vectores son Son relaciones de orden total (todos los vectores son comparables).comparables).
Orden muy adecuado para los modelos HSI, HLS, HSV.Orden muy adecuado para los modelos HSI, HLS, HSV.
)'''(
)''(
)'(
'
'
'
BBandGGandRRor
GGandRRor
RR
B
G
R
B
G
R
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3030
Morfología cromáticaMorfología cromática Definición de operaciones morfológicas Definición de operaciones morfológicas
vectoriales:vectoriales: Dada una función Dada una función ff y un E.S. plano B, la y un E.S. plano B, la
erosión y dilatación vectorial se representa erosión y dilatación vectorial se representa por:por:
Dilatación:Dilatación:
Erosión:Erosión:),(min),)((
),(
tysxfyxfBtsovB
),(max),)((),(
tysxfyxfBtsovB
La definición de mino y maxo son operaciones vectoriales
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3131
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs.La nueva clase de ASFs. Propiedades.Propiedades. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3232
Filtros secuenciales AlternativosFiltros secuenciales Alternativos PreliminaresPreliminares
Consisten en la repetición de operaciones de aperturas Consisten en la repetición de operaciones de aperturas y cierres con E.S. cada vez mayores.y cierres con E.S. cada vez mayores.
Ofrecen una estructura jerárquica para extraer Ofrecen una estructura jerárquica para extraer características geométricas de un objeto.características geométricas de un objeto.
Introducen menos distorsión que aperturas o cierres Introducen menos distorsión que aperturas o cierres individuales con grandes elementos estructurales.individuales con grandes elementos estructurales.
Un problema considerable de aplicar ASFs es su Un problema considerable de aplicar ASFs es su alta complejidad computacionalalta complejidad computacional. .
Para reducir la complejidad computacional vamos a Para reducir la complejidad computacional vamos a proponer una proponer una Clase eficiente de ASFsClase eficiente de ASFs basada en la basada en la propiedad de adjunción.propiedad de adjunción.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3333
Filtros secuenciales AlternativosFiltros secuenciales Alternativos
Filtros AFFiltros AF Están definidos como:Están definidos como:
Otros tipos de AF están definidos como:Otros tipos de AF están definidos como:
Un filtro secuencial alternativo (ASF) es una aplicación Un filtro secuencial alternativo (ASF) es una aplicación iterativa de iterativa de AFAFBNBN(X) (X) con un incremento del tamaño de con un incremento del tamaño de los elementos estructurales, con notación:los elementos estructurales, con notación:
ASF(X) = AFBN(X)AFBN-1(X)...AFB1 (X)
AFB(X) = (X ○ B) B (1) ó
AFB(X) = (X B) ○ B (2)
AFB(X) = ((X ○ B) B) ○ B(3)
óAFB(X) = ((X B) ○ B) B
(4)
N: entero BN(X), BN-1(X),..., B1(X) son E.S. con tamaños decrecientes y:BN = BN-1 B1 , para N 2
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3434
Filtros secuenciales AlternativosFiltros secuenciales Alternativos Propiedad de adjunciónPropiedad de adjunción
Un par de operadores morfológicos (Un par de operadores morfológicos (, , ) se denomina adjunción si ) se denomina adjunción si (Y) X Y (X), donde X,Y IMAGEN (7)
Si Si ((, , )) es una adjunción, entonces es una adjunción, entonces es una erosión y es una erosión y es una es una dilatación. dilatación. Para cada erosión existe una única dilatación. Este par es una Para cada erosión existe una única dilatación. Este par es una
adjunción. adjunción. Dado un filtro de la formaDado un filtro de la forma = e1 d1 e2 .
Si Si e1 = d1 = e2e1 = d1 = e2, lo podemos reducir a, lo podemos reducir a = e1 e1 e1 = e1 (8)
Igualmente, un filtro de la forma Igualmente, un filtro de la forma = d1 d1 d1 puede ser puede ser simplificado a: simplificado a:
= d1 d1 d1 = d1 (9)
Los filtros serán de la forma Los filtros serán de la forma = en dn ... e2 d2 e1 d1 (10)
Existe una gran cantidad de Existe una gran cantidad de redundanciaredundancia en dichos filtros en dichos filtros adjuncinales que pueden ser eliminada con lo que reduciremos la adjuncinales que pueden ser eliminada con lo que reduciremos la complejidad computacional.complejidad computacional.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3535
Filtros secuenciales AlternativosFiltros secuenciales Alternativos
Eliminación de redundancia en ASFEliminación de redundancia en ASF Definiremos los distintos tipos de ASFs como:Definiremos los distintos tipos de ASFs como:
Un ASF con Un ASF con AFAFB B (X) que tiene la forma de la (X) que tiene la forma de la Eq. (1)Eq. (1) es llamada es llamada TIPO-I ASFTIPO-I ASF..
Un ASF con Un ASF con AFAFB B (X) que tiene la forma de la (X) que tiene la forma de la Eq. (2)Eq. (2) es llamada es llamada TIPO-II ASFTIPO-II ASF..
Un ASF con Un ASF con AFAFB B (X) que tiene la forma de la (X) que tiene la forma de la Eq. (3)Eq. (3) es llamada es llamada TIPO-III ASF.TIPO-III ASF.
Un ASF con Un ASF con AFAFB B (X) que tiene la forma de la (X) que tiene la forma de la Eq. (4)Eq. (4) es llamada es llamada TIPO-IV ASFTIPO-IV ASF..
Observamos que el tipo-III y el tipo-IV ASFs tienen
Redundancia computacional en sus estructuras.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3636
Filtros secuenciales AlternativosFiltros secuenciales Alternativos Eliminación de redundancia en ASFEliminación de redundancia en ASF
Un tipo-III ASF tiene n iteraciones, puede ser reescrito como:Un tipo-III ASF tiene n iteraciones, puede ser reescrito como:ASFIII(X) = (((((((((X oB) = (((((((((X oB) B) oB) o2B) B) oB) o2B) 22B) o2B) ... o nB) B) o2B) ... o nB) n nB) o nB) B) o nB)
= X (= X (222222222222.. .. nnnnnnnnnnn) Bn) B = X (= X (22222244442 2 .. .. nn2n2n2n2nnn) B) B
= X (= X (223344442 2 .. .. nn2n2n2n2nnn) B) B= ...= ...(11)= X (= X (223344.. .. 2n2n2n2nnn)B)B= ((((((X o B) = ((((((X o B) B) o 2B) B) o 2B) 2 2B) .. o nB) B) .. o nB) n nB) o nBB) o nB= = ASFI(X) o nB
De la misma forma, para n iteraciones el tipo-IV ASF puede De la misma forma, para n iteraciones el tipo-IV ASF puede ser reescrito como:ser reescrito como:ASFIV(X) = ((((((((X = ((((((((X B)○ B) B)○ B) B) B) 2B)○ 2B) 2B)○ 2B) 2B)... 2B)... nB) ○ nB)nB) ○ nB) nB nB
= ((((((X = ((((((X B)○ B) B)○ B) 2B)○ 2B) ... 2B)○ 2B) ... nB)○ nB) nB)○ nB) nB nB(12)
= = ASFII(X) nBLa complejidad computacional de este nuevo método La complejidad computacional de este nuevo método es reducida ⅔ respecto la definición original !!es reducida ⅔ respecto la definición original !!
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3737
Filtros secuenciales AlternativosFiltros secuenciales Alternativos La nueva Clase de ASFsLa nueva Clase de ASFs
Las definiciones de los nuevos tipos de ASFs:Las definiciones de los nuevos tipos de ASFs:
ASFV (X)= ((((((X ○ B) B) 2B)○ 2B)○ 3B) 3B)...
ASFVI (X)= ((((((X B)○ B)○ 2B) 2B) 3B)○ 3B)...
ASFVII (X)= ((((((((X ○ B) B)○ 2B) 2B)○ 2B) ○ 3B) 3B) ○ 3B)…ASFVIII (X)= ((((((((X B) ○ B) 2B)○ 2B) 2B) 3B)○ 3B) 3B)…
Vemos que Vemos que ASFASFV V , ASF, ASFVIVI, ASF, ASFVII VII y y ASFASFVIIIVIII son modificaciones de son modificaciones de
ASFASFI I , ASF, ASFIIII, ASF, ASFIII III y y ASFASFIV IV respectivamente. Resumiendo:respectivamente. Resumiendo:
ASFV (X) = (((((X ○ B) B) 2B)○ 2B) ○ 3B) 3B) ... ○ nB) nB
ASFVI (X) = (((((X B) ○ B) ○ 2B) 2B) 3B) ○ 3B) ... nB) ○ nB
ASFVII (X) = ASFV (X) ○ nB
ASFVIII (X) = ASFVI (X) nB)
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3838
Filtros secuenciales AlternativosFiltros secuenciales Alternativos Propiedades de la nueva Clase de ASFsPropiedades de la nueva Clase de ASFs
Prop 1.Prop 1. Las cuatro nuevas definiciones son Las cuatro nuevas definiciones son crecientescrecientes..
Prop 2.Prop 2. Las cuatro nuevas definiciones son Las cuatro nuevas definiciones son idempotentesidempotentes..
Prop 3.Prop 3. Si Si n es imparn es impar, el tipo-, el tipo-ASFASFVV está casi contenido por el tipo- está casi contenido por el tipo- ASFASFIIII (limite superior) y exáctamente contenido por tipo-(limite superior) y exáctamente contenido por tipo-ASFASFII (límite (límite superior).superior).
Si Si n es parn es par, el tipo-, el tipo-ASFASFVV está casi contenido por el tipo-ASFI está casi contenido por el tipo-ASFI (limite (limite inferior) y exáctamente contenido por tipo-inferior) y exáctamente contenido por tipo-ASFASFIIII (límite (límite inferior).inferior).
Prop 4.Prop 4. Si Si n es imparn es impar, el tipo-, el tipo-ASFASFVIVI está casi contenido por el tipo- está casi contenido por el tipo-ASFASFII (limite inferior) y exáctamente contenido por tipo-(limite inferior) y exáctamente contenido por tipo-ASFASFIIII (límite (límite
superior).superior).Si Si n es parn es par, el tipo-, el tipo-ASFASFVIVI está casi contenido por el tipo- está casi contenido por el tipo-ASFASFIIII
(limite (limite superior) y exáctamente contenido por tipo-superior) y exáctamente contenido por tipo-ASFASFII (límite (límite inferior).inferior).
Prop 5.Prop 5. Los tipos Los tipos ASFASFVIIVII y y ASFASFVIIIVIII están contenidos por están contenidos por ASFASFII y y ASFASFIIII si las si las operaciones añadidas son ignoradas.operaciones añadidas son ignoradas.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 3939
Filtros secuenciales AlternativosFiltros secuenciales Alternativos
ResumenResumen
ASFs:ASFs: Operaciones iterativas de aperturas y cierres Operaciones iterativas de aperturas y cierres con elementos estructurales de tamaño crecientecon elementos estructurales de tamaño creciente
ASFASFII(X)(X) = ((((((XoB) = ((((((XoB) B) o2B) B) o2B) 22B)... o nB) B)... o nB) nnBBASFASFIIII(X)(X) = (((((X = (((((X B) oB) B) oB) 22B) o2B)... B) o2B)... n nB) o B) o
nBnBASFASFIIIIII(X)(X) = = ASFASFII(X)(X) o nB o nB
ASFASFIVIV(X)(X) = = ASFASFIIII(X)(X) nB nB
ASFASFVV(X)(X) = (((((X oB) = (((((X oB) B) B) 22B) o2B) ... o nB) B) o2B) ... o nB) nnBBASFASFVIVI(X)(X) = (((((X = (((((X B) oB) o2B) B) oB) o2B) 22B) ... B) ... nB) o nB) o
nBnBASFASFVIIVII(X)(X) = = ASFASFVV(X)(X) o nB o nB
ASFASFVIIIVIII(X)(X) = = ASFASFVIVI(X)(X) n nBB
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4040
Filtros secuenciales AlternativosFiltros secuenciales Alternativos
Implementación en Borland Builder C++Implementación en Borland Builder C++ Es muy sencilla. Solo tiene que llamar a cada una de las Es muy sencilla. Solo tiene que llamar a cada una de las
operaciones morfológicas básicas, ya implementada. Tanto operaciones morfológicas básicas, ya implementada. Tanto para imágenes binarias, en escala de grises o en color.para imágenes binarias, en escala de grises o en color.
Ejemplo1Ejemplo1: : ASFASFII(X) = ((((((XoB) (X) = ((((((XoB) B) o2B) B) o2B) 22B)... onB) B)... onB) n nBB
void void ASF1Binary ASF1Binary (TBitmap *BitmapIn, TBitmap *BitmapOut) {(TBitmap *BitmapIn, TBitmap *BitmapOut) {
int a=1;int a=1;
for (int i=1; i<n+1; i++) {for (int i=1; i<n+1; i++) {
if (i != 1)if (i != 1)
DilatacionMask(Mask);DilatacionMask(Mask);
OpeningBinary(BitmapIn, BitmapOut);OpeningBinary(BitmapIn, BitmapOut);
BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut);
ClosingBinary(BitmapIn, BitmapOut);ClosingBinary(BitmapIn, BitmapOut);
BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut);
}}
}}
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4141
Filtros secuenciales AlternativosFiltros secuenciales Alternativos Ejemplo2Ejemplo2:: ASFASFVV(X) = (((((X oB) (X) = (((((X oB) B) B) 22B) o2B) ... onB) B) o2B) ... onB) n nBB
void void ASF5GrayScaleASF5GrayScale(TBitmap *BitmapIn, TBitmap *BitmapOut){(TBitmap *BitmapIn, TBitmap *BitmapOut){ int a=1;int a=1; for (int i=1; i < n+1; i++) {for (int i=1; i < n+1; i++) { if ((i % 2) != 0) {if ((i % 2) != 0) { if (i != 1)if (i != 1) DilataMask(Mask);DilataMask(Mask); OpeningGrayScale(BitmapIn, BitmapOut);OpeningGrayScale(BitmapIn, BitmapOut); BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut); ClosingGrayScale(BitmapIn, BitmapOut);ClosingGrayScale(BitmapIn, BitmapOut); }} else {else { BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut); DilataMask(Mask);DilataMask(Mask);
ClosingGrayScale(BitmapIn, BitmapOut);ClosingGrayScale(BitmapIn, BitmapOut); BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut); OpeningGrayScale(BitmapIn, BitmapOut);OpeningGrayScale(BitmapIn, BitmapOut); BitmapIn->Assign(BitmapOut);BitmapIn->Assign(BitmapOut); }} }} }}
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4242
Filtros secuenciales AlternativosFiltros secuenciales Alternativos
Aplicaciones. Ejemplos. Aplicación ASF.Aplicaciones. Ejemplos. Aplicación ASF. AplicacionesAplicaciones
Suavizado morfológico.Suavizado morfológico. Eliminación de ruido.Eliminación de ruido. Mejoras en imágenes. (Imágenes Médicas).Mejoras en imágenes. (Imágenes Médicas). Simplificación de imágenes. Eliminación de partículas.Simplificación de imágenes. Eliminación de partículas. Detección y reconstrucción de objetos.Detección y reconstrucción de objetos. Clasificación de texturas.Clasificación de texturas.
Ejemplos prácticosEjemplos prácticos Aplicación ASFsAplicación ASFs
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4343
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs. La nueva clase de ASFs. Propiedades. Resumen.Propiedades. Resumen. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4444
ConclusionesConclusiones Ventajas:Ventajas:
Hemos sido capaces de disminuir su coste Hemos sido capaces de disminuir su coste computacional.computacional.
Programación sencilla. Ya que están basado en Programación sencilla. Ya que están basado en morfológicas primitivas básicas (dilatación, morfológicas primitivas básicas (dilatación, erosión).erosión).
Es una buena herramienta para el procesado de Es una buena herramienta para el procesado de imágenes.imágenes.
Inconvenientes:Inconvenientes: En ocasiones son muy destructores. Eliminan En ocasiones son muy destructores. Eliminan
demasiada información de la imagen.demasiada información de la imagen. Actualmente la morfología cromática se encuentra Actualmente la morfología cromática se encuentra
en estudio. Solo podemos aproximarnos.en estudio. Solo podemos aproximarnos.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4545
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs. La nueva clase de ASFs. Propiedades. Resumen.Propiedades. Resumen. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4646
Posibles líneas de investigaciónPosibles líneas de investigación
Trabajar con el elemento estructuralTrabajar con el elemento estructural Cambio de sus valores -> Buscar nuevas Cambio de sus valores -> Buscar nuevas
máscaras.máscaras. Cambio del formato del E.S. (Escala de grises, Cambio del formato del E.S. (Escala de grises,
RGB).RGB). Modificación de los algoritmos de Modificación de los algoritmos de
dilatación y erosión. Sus límites inferior o dilatación y erosión. Sus límites inferior o superior.superior.
La problemática del color. La problemática del color. Qué orden es mejor según la información que Qué orden es mejor según la información que
queramos extraer de la imagen?queramos extraer de la imagen? Qué formato es mejor. HSI, RGB, etc.?Qué formato es mejor. HSI, RGB, etc.?
Actualmente todos los estudios están abiertos !!!
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4747
ÍndiceÍndice Morfología matemática.Morfología matemática. Morfología binaria.Morfología binaria. Morfología en Escala de grises.Morfología en Escala de grises. Morfología cromática.Morfología cromática. Filtros Secuenciales Alternativos Filtros Secuenciales Alternativos (ASFs)(ASFs)
Preliminares.Preliminares. Filtros AF.Filtros AF. Propiedad de Adjunción morfológica.Propiedad de Adjunción morfológica. La nueva clase de ASFs. La nueva clase de ASFs. Propiedades. Resumen.Propiedades. Resumen. Implementación en Borland Builder C++.Implementación en Borland Builder C++. Aplicaciones. Ejemplo experimental. Aplicación ASF.Aplicaciones. Ejemplo experimental. Aplicación ASF.
Conclusiones.Conclusiones. Posibles líneas de investigación. Posibles líneas de investigación. Bibliografía. Otras referencias.Bibliografía. Otras referencias.
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4848
Bibliografía. Otra referencias.Bibliografía. Otra referencias. “An Efficient Class of Alternating Sequential Filters in Morpholoty”
Soo-Chang Pei y Chin-Lun Lai “Tratamiento digital de imágenes”
Rafael C. Gonzálex, Richard E. Woods "The pocket handbook of image processing algorithms in C"
Harley R. Myler, Arthur R. Weeks. “Programación con C++ Builder 5”
Francisco Charte.
www.mdp.edu.ar/rectorado/secretarias/investigacion/nexos/11/dactiloscopia.htm
www.perceptive.com
www.fixma.es/index.html
www.dc.uba.ar/people/material/pid2
www.tlm.unavarra.es/webcam/amorfo/index2.html
www.webserver.pue.udlap.mx/~mramirez//notaspdi/contenido.htm#FILTROS NO LINEALES
J. M. Monroy CarrascoJ. M. Monroy Carrasco 4949
Monroy Carrasco, Jesús ManuelMonroy Carrasco, Jesús Manuel
jmonroy@supercable.esjmonroy@supercable.es
top related