(ISBN 970‐32‐2673‐6)
ALGORITMOS EN MATLAB PARA EL PROCESAMIENTO DE IMÁGENES POR FILTROS
REALZANTES
José Luis Ramos Quirarte1, Norma Ramírez Hernández2 1Departamento de Electrónica, 2Departamento de Ciencias Computacionales,
CUCEI‐Universidad de Guadalajara, Jalisco, México Resumen Este trabajo presenta algunos resultados obtenidos en procesamiento espacial de imágenes. Los algoritmos consisten en el diseño de máscaras. Las máscaras impares son más simples ya que son más apropiadas para el manejo simétrico y poseen un pixel central que usualmente es el modificado en cada iteración. Sin embargo, para el procesado de los bordes de las imágenes es muy conveniente el manejo de máscaras de fila o de columna incluyendo máscaras de dimensiones pares con modificación de uno o varios pixeles de manera simultánea. Los algoritmos han sido desarrollados en MatLab ya que esta plataforma es muy popular, tiene herramientas muy útiles para el procesamiento de imágenes, es muy fácil el manejo de menús y de GUI´s. Las transformaciones incluyen el filtrado pasa altas, el filtrado Hihg‐Boost, filtros diferenciales basados en el gradiente bidimensional, con operadores Prewitt y Sobel y ecualización de histogramas en el entorno. Palabras Clave Procesamiento de imágenes, Máscaras espaciales para procesamiento, filtrado espacial de imágenes, filtros diferenciales, operadores Prewitt, operadores Sobel, ecualización de histogramas en entornos.
I. Introducción Una técnica para realizar procesamiento de imágenes, es el procesamiento espacial empleando el diseño de máscaras que recorren la imagen original modificándola a través de un operador , expresamente diseñado para el objetivo deseado: difuminación, eliminación de ruido, realce de detalles, etc. Obteniendo una imagen procesada, expresada en la siguiente ecuación,
(1) Para una máscara [1‐3] o entorno de , y considerando a los niveles de gris de los pixeles de la imagen original bajo la máscara como:
,la respuesta de una máscara lineal es
(2)
(ISBN 970‐32‐2673‐6)
Donde los son los coeficientes de ponderación de la máscara elegidos de acuerdo con la acción deseada para el operador .
II. Descripción de Algoritmos Consisten en el diseño de máscaras de cualquier tamaño deseado las cuales al ser manipuladas sobre la imagen a procesar, generen el efecto deseado. Las máscaras impares son más simples ya que son más apropiadas para el manejo simétrico y poseen un pixel central que usualmente es el modificado en cada iteración. Sin embargo, para el procesado de los bordes de las imágenes es muy apropiado el manejo de máscaras de fila o de columna incluyendo máscaras de dimensiones pares con modificación de uno o varios pixeles de manera simultánea. Se implementaron dos algoritmos el primero, que traslada de la imagen todos los valores a la máscara en cada desplazamiento y el segundo, que conserva los valores de las columnas en cada iteración, copiando solamente los valores de la columna nueva. En la Fig. 1, se muestra el diagrama de flujo simplificado para el segundo algoritmo.
III. Procesamiento por Filtros Realzantes El filtrado espacial[1,4‐6], emplea filtros lineales o no lineales, los filtros realzantes se diseñan con la finalidad de remarcar los detalles finos de una imagen o intensificar detalles que han sido difuminados o se encuentran borrosos. El procesamiento por filtros realzantes aquí desarrollado, incluyen los filtros pasa altos, pasa altas modificado, filtros diferenciales y ecualización de histogramas. En la Fig. 2, se muestra un par de menús para elegir el procesamiento deseado.
(ISBN 970‐32‐2673‐6)
Completo el recorrido X?
Inicialización de variables.
Tamaño de la máscara
Determinación del centro de la máscara y de los límites del recorrido de la máscara sobre la imagen
Imagen procesada
Máscara completa X?
Se incrementa una fila
Se incrementa una fila la máscara
Completo el recorrido Y?
SI
Máscara completa Y?
SI
Copiar pixel de la imagen en la máscara
SI Crece la máscara una columna
Se avanza una columna
Aplicación del operador de procesamiento a la imagen
Copiar máscara Máscara inicial?
SI
Actualizar última columna
INICIO
Fig. 1. Diagrama de flujo simplificado del algoritmo para cálculo completo de máscara.
a).‐ Manejo de imagen y algoritmo b) Selección del tratamiento a la
imagen Fig. 2. Menús para el filtrado por máscaras.
A través del menú de “Filtrado Pasa Altas de Imágenes con Máscaras”, se puede elegir la opción de adquisición de imagen, se activa un submenú que permite leer una imagen .tiff indexada, color RGB o en escala de grises, o bien escoger imágenes .jpg en color RGB o en escala de grises. El submenú tiene la opción de escalar la imagen pues para propósitos de desarrollo de algoritmos y transformaciones de procesamiento, muchas imágenes resultan muy grandes que resulta muy ventajoso el poder reducirlas y concluir más rápido el proceso. Para propósitos de investigación, resulta conveniente el poder agregar ruido a las imágenes por lo que otra opción permite hacerlo con distintos tipos de ruido (Gaussiano,
(ISBN 970‐32‐2673‐6)
de Poisson, multiplicativo, etc.). Ya que las diferentes técnicas de procesamiento descritas en este trabajo, son aplicadas a imágenes en niveles de intensidad, una opción del submenú lo permite, finalmente, la imagen puede ser almacenada con diferentes formatos. Las otras opciones del menú permiten la utilización de alguno de los dos algoritmos implementados para el manejo mecánico de las máscaras. Con el segundo menú “ Filtrado Pas Altas por Máscaras Complementarias”, se accede a la técnica deseada para el procesamiento de la imagen. Las técnicas desarrolladas incluyen: filtrado pasa altas básico, filtrado pasa altas mejorado, filtrado diferencial con operadores Prewitt y Sobel y ecualización de histogramas en cada región de la máscara.
A. Filtrado Espacial Pasa Altas Básico En el domino espacial, un filtro de realce (pasa altas), se puede conseguir simplemente restándole a la imagen original la imagen obtenida al ser procesada con un filtro pasa bajas. O bien, se requiere diseñar una máscara que contenga coeficientes positivos en el centro y negativos en la periferia. Una máscara de que cumple con esas características y además de que la suma de sus coeficientes es cero para mantener una respuesta lineal, se muestra en la Fig. 3, para las regiones de la imagen donde el nivel es casi constante, la transformación producirá valores muy cercanos a cero. Por otra parte ya que se producen regiones con valores negativos y en otras regiones valores muy grandes, el resultado en estos casos requiere un cambio de escala y corrimiento para mantener a la imagen resultante en el intervalo de 0 a 255 en niveles de intensidad. En la Fig. 3, se presenta una imagen que es filtrada por la máscara diseñada y la resultante de dicho filtrado. Además de la imagen de Saturno se aprecia la existencia de una serie de estrellas casi invisibles en la imagen original.
a).‐ Imagen original
‐1
‐1
‐1 ‐1
‐1
‐1
‐2
‐2 ‐2
‐1
‐1
‐2
32 ‐2
‐1
‐1
‐2
‐2 ‐2
‐1
‐1
‐1
‐1 ‐1
‐1
b).‐ Máscara aplicada
c).‐ Imagen procesada
Fig. 3. Filtrado Paso Altas Básico: a) imagen original, b) máscara diseñada de , c) Imagen procesada que muestran realce.
(ISBN 970‐32‐2673‐6)
B. Filtrado Espacial High‐Boost Con la finalidad de mejorar los resultados obtenidos con el filtrado pasa altas básico[1,7], se introduce un factor de amplificación a la imagen original, , que además de realzar detalles, agregue parte de la imagen original, reincorporando parte de las frecuencias bajas perdidas. Para su implementación se puede proceder de varias maneras: Una muy simple, sería aplicar la misma máscara diseñada para el pasa altas básico como el de la Fig. 2, pero modificando el coeficiente central a
. Otro método es como se describe: (3)
(4) (5)
En la Fig. 4, se muestran los resultados de aplicar el filtrado High‐Boost a la imagen original de la Fig.3, con máscaras de y y de y
a) b)
Fig. 4. Filtrado Paso Altas High‐Boost: a) máscara de , b) máscara de .
C. Filtrado Diferencial El proceso de diferenciación sobre una imagen, le da mayor nitidez. Porlo que podemos emplear el gradiente bidimensional para la imagen original, , en el punto como:
(6)
Donde su módulo es representado por
(7)
Para máscaras con entorno de , una aproximación de (7) es: (8)
C.I.‐ Filtrado Diferencial con Operadores de Prewitt Como puede observarse de la Ec. (8), su implementación requiere del procesado a través de dos máscaras. Los operadores de Prewitt, consiguen la diferenciación en la dirección , para procesamiento con máscaras de , usando coeficientes: menos unos, ceros, y unos para el primero, segundo, y tercer renglón; y para la primera, segunda y tercer
(ISBN 970‐32‐2673‐6)
columna, respectivamente. En la Fig. 5, se muestran resultados de realizar este procesamiento con máscaras de , y
a) b)
Fig. 5. Filtrado Diferencial con Operadores de Prewittt: a) máscara de , b) máscara de .
C.II.‐ Filtrado Diferencial con Operadores de Sobel Otra alternativa de aproximar la Ec. (8) es a través de los operadores de Sobel. Estos operadores a diferencia de los de Prewitt, utilizan coeficientes que no se restringen a ceros, menos unos y unos, por lo que permiten derivaciones ponderadas. En la Fig. 6, se presentan algunos resultados de este procesamiento para máscaras de ,y de .
D. Procesamiento por Ecualización de Histogramas por Máscaras El histograma es una característica muy relevante en las imágenes, ya que nos indica el número de pixeles en una imagen que poseen determinado nivel de intensidad. Por lo que al observar el histograma, sabemos si la imagen es obscura cuando el histograma está cargado hacia los niveles bajos de intensidad, lo opuesto nos indica una imagen muy brillante.
a) b)
Fig. 6. Filtrado Diferencial con Operadores de Sobel: a) máscara de , b) máscara de .
Si está contenido en una franja angosta, se trata de una imagen de bajo contraste y si está distribuida a lo largo de todos los niveles de intensidad, entonces es una imagen de alto contraste. Así pues implementar técnicas para ecualizar el histograma de una imagen,
(ISBN 970‐32‐2673‐6)
permite mejorar su contraste. Cuando se aplica ecualización global, se obtiene generalmente un difuminado no deseado por lo que utilizar máscaras para ecualizar regionalmente, presenta ventajas considerables. En la Fig. 7, se presentan los resultados de una ecualización global y de ecualización por máscaras, en este caso, intencionalmente las máscaras no fueron traslapadas para visualizar su efecto local. Por supuesto haciendo un recorrido pixel a pixel de la imagen, produce resultados muy efectivos.
a) b)
Fig. 6. Ecualización de Histogramas: a) global, b) máscaras sin traslape de .
IV. Resultados y Conclusiones En este trabajo se presentan algunos resultados obtenidos para el procesamiento de imágenes utilizando filtros realzantes basados en algoritmos que definen entornos o máscaras sobre la imagen original para modificar los valores originales seleccionando los coeficientes de la máscara para obtener filtrado pasa altas, usando los operadores de Prewitt o de Sobel o bien aplicando el concepto de ecualización de histogramas por regiones. Los algoritmos fueron implementados en MatLab que ya rutinas de filtrado, pero basado en el dominio de la frecuencia, siendo esta aportación, otra opción conveniente para procesamiento en la mejora de una imagen. Conforme se trabaja más y más en el procesamiento de imágenes, nuevas herramientas se desarrollan por lo que profundizar en más técnicas de procesamiento, nos permitirán tener una visión más completa de esta área que encuentra nuevas y nuevas aplicaciones. Consideramos que un camino para explorar es la combinación de técnicas utilizadas en el dominio espacial y en el dominio de la frecuencia. REFERENCIAS [1] R.C González, R.E.Woods “Tratamiento digital de imágenes” Ed. Addison‐Wesley, 1996. [2] Norma Ramírez Hernández, “Procesamiento de Imágenes Médicas”, Tesis de Maestría
en Ciencias en Ingeniería Electrónica, CUCEI, U. de G. Diciembre de 2006.
(ISBN 970‐32‐2673‐6)
[3] J. D. Martinez, J. M. Benlloch, J. Cerdá, Ch. W. Lerche, N. Pavón, and A. Sebastiá “High‐Speed Data Acquisition and Digital Signal Processing System for PET Imaging Techniques Applied to Mammography”, IEEE transactions on nuclear science, vol. 51, no. 3, June 2004, pp. 407‐412.
[4] Liyang Wei, Yongyi Yang, Robert M. Nishikawa, Miles N. Wernick, and Alexandra Edwardsm, ”Relevance Vector Machine for Automatic Detection of Clustered Microcalcifications”, IEEE transactions on medical imaging, vol. 24, no. 10, October 2005.
[5] Robert A. Brown*, Hongmei Zhu, and J. Ross Mitchell , “Correspondence Distributed Vector Processing of a New Local MultiScale Fourier Transform for Medical Imaging Applications” IEEE Transactions on medical imaging, vol. 24, no. 5, may 2005.
[6] Segyeong Joo, Yoon Seok Yang, Woo Kyung Moon, and Hee Chan Kim*, Member, IEEE, “Computer‐Aided Diagnosis of Solid Breast Nodules: Use of an Artificial Neural Network Based on Multiple Sonographic Features”, IEEE transactions on medical imaging, vol. 23, no. 10, october 2004, pp. 1292‐1300.
[7] Fu, K.S, González, R.C. y Lee C.S.G. ”Robotics control, sensing, vision and intelligence”, McGraw‐Hill, New York 1987.
(ISBN 970‐32‐2673‐6)