PÁXINA DE RECURSOS | En castellano ► | |||||||||||||||||||||||||
|
Táboa
de correspondencias en forma de función continua (esquerda)
e de índice (dereita). |
Dominio espacial e frecuencial
Na mellora local as técnicas de procesamento de punto ou de convolución
poden operar sobre a imaxe tanto no dominio espacial como no da frecuencia.
De feito, en moitos casos hai maneira de actuar en calquera dos dous campos.
No espacial calcúlase sobre os propios valores dos píxeles,
e no frecuencial tradúcense primeiro a un mapa de frecuencias mediante
unha transformada de tipo Fourier.
Deste xeito, é posible aplicar filtros típicos do tratamento dos sinais eléctricos como os de Paso baixo, Paso alto ou Paso banda. O primeiro limita ou elimina as altas frecuencias; o segundo, as baixas, e o terceiro ambas as dúas, é dicir, limita o rango posible do intervalo entre un valor mínimo e outro máximo.
As altas frecuencias corresponden na imaxe a cambios bruscos
de densidade, e as baixas, a cambios suaves. O filtro Paso baixo,
por tanto, logra reducir o ruido suavizando as transicións, mentras
que a alternativa Paso alto reforza os contrastes.
Arriba, filtros típicos no dominio frecuencial. Abaixo, variacións producidas no dominio espacial. |
Pero o tema central deste artigo é o filtrado espacial que se fai definindo un contorno cos viciños dun píxel central. A este contorno chamámolo ventá, máscara ou matriz de convolución, e normalmente é cadrado ou rectangular, aínda que é posible definir outras formas rómbicas, circulares, etc.
A cada posición na ventá asígnase un peso ou participación no cálculo que dará o novo valor para o píxel central. Daquela, vaise desprazando a máscara, centrándoa en cada un dos píxeles da imaxe. Ao percorrido completo é ao que denominamos filtrado, e os sucesivos resultados, sempre a partir dos valores orixinais, forman a nova imaxe. É obvio que nos bordos e esquinas a ecuación varía, xa que parte da máscara pérdese.
Dous campos típicos nos que centraremos esta exposición son os de desenfoque mediante promedios e a detección de bordos.
Técnicas de promediado
Ben seguro, o exemplo máis sinxelo de máscara de filtrado é
a que promedia un contorno de 3 x 3 píxeles. Súmanse os 9 valores
e divídese por 9. O peso de cada valor inicial é 1/9 do resultado.
Os filtros máis sinxelos de desenfoque empregan estas máscaras,
producindo un efecto semellante aos de paso baixo. De feito chámaselles
filtros de paso baixo espacial.
Promediado
homoxéneo cunha máscara de 3 x 3 píxeles. |
Canto máis grande sexa o contorno abarcado (5 x 5, 7 x 7, 9 x 9), máis se difuminan os detalles da imaxe, xa que cada vez haberá máis proporción de valores idénticos dentro de duas máscaras contiguas. Pero esváese logo a información da imaxe.
Desenfoque
con máscaras de 3x3 e de 5x5 píxeles. |
Contrólase moito mellor o alcance do desenfoque cunha matriz onde os pesos diminuen coa distancia respecto ao píxel central. É o que se denomina promediado ponderado.
A diminución pode calcularse en forma de campá gaussiana, en base a unha ecuación na que o valor da varianza determina o número de píxeles a ter en conta. Iso é o que manexamos como valor radio nos filtros de desenfoque gaussiano, con tan bos resultados.
Máscara
de convolución gaussiana de 7x7 píxeles. |
O promedio ten o inconveniente de desdibuxar bordos e formas. Para evitalo empréganse técnicas de promediado selectivo. Poden calcularse, por exemplo, as catro medias proporcionais entre os dous viciños laterais, os dous verticais, os dous nun sentido diagonal e os do sentido inverso, e elexir o resultado que máis se pareza ao valor original do píxel.
En certos casos é máis efectivo o cálculo da mediana. Non é propiamente unha convolución, senón un criterio tan sinxelo como seleccionar da máscara o valor medio dos existentes. Aseméllase nisto aos filtros Máximo e Mínimo.
O filtro Máximo consiste en asignar ao píxel de referencia o valor máis alto dos atopados na máscara, polo que o seu efecto é ensanchar as zonas craras e afinar as escuras. Mínimo fai xusto o contrario, seleccionando o valor máis baixo.
A mediana dun conxunto de valores discretos é tal que hai igual número de valores por debaixo e por enriba. Para entendelo: unha secuencia de valores 3, 2, 4, 8, 3, 12, 3 ordénase así: 2, 3, 3, 3, 4, 8, 12. O promedio é 5, o valor central é 4, pero a mediana é 3, porque é o valor que ten o píxel do medio da fila.
De
arriba abaixo, imaxe afectada nun 10% por ruido de puntos brancos,
filtrada con promedio e con mediana de radio 1 ou 3 x 3 píxeles
(zoom ao 200%). |
Detección de bordos
Empréganse diferentes patróns, que resaltan os cambios bruscos
de nivel. Estes patróns, chamados operadores, son unidireccionais,
aínda que poden combinarse nunha convolución múltiple.
As
duas máscaras da esquerda rastrexan as diferencias de píxeles
contiguos por filas e por columnas. As da dereita comparan píxeles
separados. |
Con máscaras pequenas poden definirse oito direccións, que se indican como puntos cardinais:
Operadores
de Kirsch para oito direccións. |
Nótese no gráfico cómo os pesos positivos igualan aos negativos. Se os valores positivos e negativos dos píxeles tamén se igualasen, o resultado sería cero. Por iso, en moitos filtros de detección de bordos vemos en tonalidades muy escuras as rexións homoxéneas.
Os operadores de gradiente por filas e por columnas que vimos localizan ben os cambios tonais, pero son excesivamente sensibles ao ruido, o mesmo que o operador de Roberts, que rastrexa en diagonal.
Isto débese a que son moi poucos os valores a calcular. Os operadores de Sobel, Prewitt ou Frei-Chen evitan o problema extendendo o gradiente de píxeles separados de xeito que participen os píxeles en diagonal.
De
esquerda a dereita, operador en diagonal de Roberts, e operadores
de fila de Prewitt, Sobel e Frei-Chen. |
O operador de Prewitt concede o mesmo peso aos píxeles contiguos en vertical e horizontal, que aos contiguos en diagonal. O de Sobel duplica o coeficiente dos primeiros tendo en conta que os seus centros están máis próximos ao píxel central, e o de Frei-Chen afina máis, distinguindo a proporción real de 1 a 1,41 (raíz de 2)
De
arriba abaixo, detección de bordos con operadores Sobel O,
N e SE. |
A característica común a todos os filtros de detección de diferencias é a combinación de pesos positivos con negativos. Así, unha versión espacial sinxela dun filtro de paso alto viría de máscaras como éstas:
Á
esquerda, combínanse os gradientes de filas e columnas. Á
dereita, tamén os gradientes diagonais. |
Son moi efectivos para acentuar o contraste e detectar puntos illados ou pequenos detalles, se se aumenta o tamaño da máscara. Con igual razonamento poden deseñarse máscaras que detecten a presencia de liñas finas:
Detección
de liñas horizontais e verticais. |
Na próxima entrega veremos cómo tirar proveito destas ideas creando filtros personalizados.