algoritmos en matlab para el procesamiento de imágenes por filtros realzantes

9
(ISBN 9703226736)

Upload: norma-ramirezhernandez

Post on 20-Jun-2015

5.251 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

   

(ISBN 970‐32‐2673‐6)

Page 2: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

 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)

Page 3: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 4: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 5: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 6: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 7: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 8: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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)

Page 9: Algoritmos en MatLab para el Procesamiento de Imágenes por Filtros Realzantes

 

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