Está en la página 1de 118

INSTITUTO POLITÉCNICO NACIONAL

 
                                              ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA 
                                                                                          
                        
 
 
      
                      
 
 
“PROCESAMIENTO DIGITAL DE IMÁGENES DE
ULTRASONIDO”
 
 
 
 
 
T E S I S
 
 
 
QUE PARA OBTENER EL TÍTULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRONICA

PRESENTA:
RODRIGO HERNÁNDEZ NAVARRETE

MÉXICO, D.F. 2010


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA y ELECT.RICA
UNIDAD PROFESIONAL "ADOLFO LOPEZ MATEOS"
TEMA DE TESIS
QUE PARA OBTENER EL TITULO DE INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
POR LA OPCION DE TITULACION
TESIS Y EXAMEN ORAL
DEBERA(N) DESARROLLAR C. RODRIGO HERNANDEZ NAVARRETE

"PROCESAMIENTO DIGITAL DE IMÁGENES DE ULTRASONIDO"

PROCESAR IMÁGENES DE ULTRASONIDOS, PARA OBTENER RASGOS MAS DEFINIDOS DE LA IMAGEN


Y HACER UN DIAGNOSTICO MAS EFICAZ.

MÉXICO D.F. A 25 DE OCTUBRE DE 20/0.

A.

ASEsaRES

M. EN C. GABRIELA SANCHEZ MELEN M. EN C. DAVI


INDICE

TEMA PAGINA

OBJETIVO GENERAL 7
OBJETIVOS ESPECÍFICOS 7
JUSTIFICACION 8

CAPÍTULO I. RUIDO EN IMÁGENES DIGITALES


1.1 Introducción 9
1.2 Tipos de ruido 10
1.2.1 Ruido Gaussiano 10
1.2.2 Ruido Impulsivo 11
1.2.3 Ruido sal y pimienta 12
1.2.4 Ruido uniforme 12
1.2.4.1 Ruido uniforme frecuencial 12
1.2.4.2 Ruido uniforme cursivo o multiplicativo 13
1.2.5 Ruido Speckle 13
1.3 Eliminación o disminución del ruido 14
1.4 Tipos de filtro 14
1.4.1 Filtros lineales 15
1.4.2 Filtro de la media 17
1.4.3 Filtro gaussiano 18
1.4.4 Filtros no lineales, filtros de mediana 18
1.4.5 Filtro adaptativo 18
1.4.6 Filtros digitales 19
1.4.7 Filtros estadísticos ordenados 19

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 2


CAPÍTULO II. MANEJO Y PROCESAMIENTO DE
IMÁGENES

2.1 Introducción 20
2.2 Image Processing Toolbox 22
2.2.1 Tipos de datos de en una imagen 23
2.3 Tipos de imágenes 24
2.3.1 Imagen binaria 24
2.3.2 Imagen indexada 24
2.3.3 Imagen de intensidad 24
2.3.4 Imagen multitrama 25
2.3.5 Imagen RGB 25
2.4 Lectura y escritura de imágenes a través de
archivo 25
2.4.1 Leyendo imágenes de disco 27
2.5 Extracción de bordes 29
2.5.1 Método de Prewitt 30
2.5.2 Método de Roberts 30
2.5.3 Método de filtro Laplaciano 30
2.5.4 Método Laplaciano de la Gaussiana (log) 30
2.5.5 Método Canny 30
2.5.6 Método Sobel 31
2.6 Imágenes binarias y segmentación por 31
umbral

CAPÍTULO III. WAVELETS


3.1 Introducción 33
3.2 Wavelets 34
3.3 Análisis de funciones 35

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 3


3.3.1 Análisis de Fourier 35
3.3.2 Análisis de Wavelets 36
3.4 Bases wavelets 38
3.5 Algoritmo de la transformada wavelet
piramidal 38
3.5.1 Transformada Wavelet Piramidal. Algoritmo 38
3.5.2 Funciones de Daubechies 40
3.5.3 Número de operaciones 40
3.6 Transformada wavelet bidimensional 40
3.7 La transformada wavelet continua (CWT) 42
3.8 La transformada wavelet discreta (DWT) 43
3.9 Wavelets y ruido 44
3.10 Wavelets en Matlab 45

CAPÍTULO IV. IMÁGENES MEDICAS,


ULTRASONIDO
4.1 Introducción 47
4.2 Usos comunes del ultrasonido 49
4.3 Como funciona 50
4.3.1 Ecos de ultrasonido 51
4.3.2 Ecuación de la onda 51
4.3.3 Dispersión en el tejido 52
4.3.4 El equipo de ultrasonido 53
4.3.5 Efectos biofísicos de los ultrasonidos 53
4.3.5.1 Efecto mecánico 53
4.3.5.2 Efecto térmico 53
4.3.5.3 Efectos biológicos 54

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 4


4.4 Ruido en ultrasonido 55
4.4.1 Naturaleza del ruido 55
4.4.1.1 Fenómeno de absorción 55
4.4.1.2 Fenómeno de reflexión 56
4.4.1.3 Fenómeno de difusión 56
4.5 Speckle 56

CAPITULO V. RESULTADOS
5.1 Introducción 58
5.1.1 Visión de bajo nivel 59
5.1.2 Visión de alto nivel 59
5.2 Visión de bajo nivel y alto nivel 59
5.2.1 Adquisición de imágenes 60
5.2.2 Guardando la imagen 60
5.2.3 Preprocesamiento 61
5.2.3.1 Operador elemental horizontal 63
5.2.3.2 Operador elemental vertical 64
5.2.3.3 Operador de Roberts horizontal 64
5.2.3.4 Operador de Roberts vertical 65
5.2.3.5 Operador de Prewitt horizontal 66
5.2.3.6 Operador de Prewitt vertical 66
5.2.3.7 Operador de Sobel horizontal 67
5.2.3.8 Operador de Sobel vertical 68
5.2.3.9 Filtro Gaussiano 68
5.2.3.10 Filtro Laplaciano 69
5.2.3.11 Filtro Log 70
5.2.3.12 Transformación al modelo RGB (Red,
Green, Blue) 70

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 5


5.2.3.12 Transformación al modelo CMY (Cian,
Magneta, Yellow) 71
5.2.4 Segmentación 72
5.3 Visión de alto nivel 73
5.3.1 Representación 73
5.3.1.1 Aplicación de filtros 74
5.3.2 Aplicación de Wavelets 76
5.3.2.1 Daubechies 76
5.3.2.2 Haar 79
5.3.2.3 Coiflets 80
5.3.2.4 Aproximación lineal y no-lineal 81

CONCLUSIONES 83
RECOMENDACIONES PARA TRABAJOS FUTUROS 83
BIBLIOGRAFÍA 84
APÉNDICE A 89
APÉNDICE B 96
APÉNDICE C 99

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 6


OBJETIVO GENERAL

• Utilizar técnicas de realce y nitidez, en busca de la mejora visual de las

imágenes de ultrasonido.

• Efectuar realces temporales y permanentes de las imágenes de ultrasonido.

• Obtener datos, que hagan más evidentes los rasgos de las imágenes de

ultrasonidos.

OBJETIVOS ESPECÍFICOS

• Presentar las técnicas, herramientas analíticas y algorítmicas del

procesamiento de imágenes para análisis clínicos.

• Aplicar las técnicas a imágenes reales.

• Extraer y definir características importantes de ultrasonidos, con el fin de

ayudar al diagnostico oportuno y en tiempo real de un paciente.

• Obtener como resultado final, una imagen que permita tomar una decisión

medica pertinente, por personal calificado en la materia.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 7


JUSTIFICACIÓN

El procesamiento de imágenes en la actualidad es utilizado en distintas


áreas como son: la astronomía, la geología, física, biológicos, hasta el inesperado
uso en las ciencias humanas, por ejemplo, la arqueología o historia del arte. Y sin
duda en el campo de la medicina donde se obtienen múltiples beneficios que se
centran en la salud y el bienestar humano.
El procesamiento digital de imágenes, incluye un conjunto de técnicas que
operan sobre la representación digital de una imagen, o un objeto para destacar
algunos de los elementos que conforman dicha escena, de modo que se facilite su
análisis posterior. En general, las técnicas de procesamiento de imágenes son
aplicadas cuando resulta necesario realzar o modificar una imagen y mejorar su
apariencia. Destacando algún aspecto de la información contenida en la misma.
En general utilizamos estas técnicas cuando se requiere, medir, contrastar o
clasificar algún elemento contenido en la misma.

Las imágenes digitales representan información visual asociada con una


escena ambiental real que correspondería a lo que obtenemos con el sentido de la
vista, cierto tipo de información puede que no sea tan evidente como resultado a la
utilización de sensores que no son apropiados.
Las imágenes que utilizaré para su procesamiento serán imágenes de ultrasonidos
y basaré el trabajo en la utilización del software Matlab, ya que este software y sus
múltiples aplicaciones nos proporcionarán herramientas para el Procesamiento de
Imágenes, así como un extenso conjunto de algoritmos y herramientas gráficas
para el procesamiento, análisis y visualización de imágenes. Con su uso podemos
restaurar el ruido en imágenes degradadas. Y así mejorar las imágenes, para
extraer características y analizar las formas y texturas, Adicionalmente como
beneficio el software hace uso de métodos que han sido probados por los
especialistas en el procesamiento digital de imágenes, dando la ventaja de que en
otro software tendríamos que implementar estos métodos sin la certeza de saber
si funcionarán.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 8


CAPÍTULO I: RUIDO EN IMÁGENES DIGITALES

En este capítulo se definirá que es el ruido, orígenes y las repercusiones


que pueden presentarse al encontrarlo en una imagen digital, sabemos que el
ruido afectará la correcta reproducción de las imágenes, con las que se va a
trabajar. Posteriormente trataremos de algunas de las técnicas existentes para el
tratamiento de reducción o eliminación de éste para después continuar con el
procesamiento digital de las imágenes.

1.1 INTRODUCCIÓN

El ruido en una imagen es un fenómeno muy frecuente, aparece de


improvisto y por varias circunstancias; en el caso específico de las imágenes
digitales lo definimos como los píxeles “erróneos”, aleatorios que se entremezclan
entre los píxeles “aceptables” que componen la imagen y que lo único que hacen
es entorpecer su correcta reproducción.
Uno de los ruidos más comunes en imágenes de formato digital es el
conocido como ruido digital o píxeles rojos que no es más que la aparición de
pequeños granos rojos muy intensos que se forman en el fondo de la imagen. Los
factores que contribuyen a que este ruido se produzca es el tamaño del sensor,
pero más frecuentemente se debe a la selección de un ISO (Organización
Internacional para la Estandarización - International Organization for
Standardization) muy alto, el ISO es la sensibilidad de la cámara o dispositivo
digital. [1]
Existen varias maneras de que el ruido sea introducido en una imagen;
esto depende específicamente de la manera en cómo se crea u obtiene la
imagen. Por ejemplo: Si la imagen es obtenida de una fotografía hecha en el cine,
la película de grano es una fuente de ruido, dado que estos granos están en la
base de cualquier material fotográfico (película o papel) y son los que forman la
imagen, entonces el ruido puede ser resultado de los daños a la película y estos
son transferidos directamente al escáner. Si la imagen se adquiere directamente
en formato digital, el mecanismo de obtención de los datos puede introducir ruido,

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 9


o puede ser generado dentro de los componentes eléctricos de la entrada del
amplificador (ruido interno), o puede ser añadido a la señal a medida que viaja por
los cables a la entrada del amplificador (ruido externo), o simplemente como la
consecuencia del proceso de captura, digitalización y transmisión.
Si este ruido aparece en la imagen de un ultrasonido, tendríamos un grave
problema, dado que consideramos al ultrasonido como un oportuno diagnóstico
para el bien de la salud de un paciente. Y esto porque el ultrasonido es una
herramienta en tiempo real, portátil y bajo costo, un ultrasonido con ruido puede
traer múltiples consecuencias como son: una incorrecta interpretación por gente
especializada, y una mala detección en detalles, ya que generalmente lo hace
una computadora.
Si el ruido ya está presente en nuestro ultrasonido lo que nos queda ahora
por hacer, es un correcto manejo de este para tratar que sus consecuencias no
repercutan gravemente en la interpretación de la imagen, en este proyecto se
planea implementar el uso de filtros con la finalidad de hacer una reducción del
ruido presente, dado que sabemos que un filtrado de datos reduce el ruido en la
adquisición de estas, por ello en la siguiente sección abordaremos el tema del
ruido. [2]

1.2 TIPOS DE RUIDO

Todos los procesos de captura de imagen están sujetos a ruido de algún


tipo, por lo que sería un problema ignorarlo, por ello consideramos importante
hablar de los diferentes tipos de ruido en esta sección, para después hablar de las
técnicas para identificarlos y eliminarlos de nuestras imágenes.

1.2.1 Ruido Gaussiano

Este tipo de ruido, es producto de pequeñas variaciones en una imagen,


con frecuencia este ruido es creado debido a los componentes electrónicos, como
lo son: sensores, digitalizadores, etc. Dado que es producto del uso de la
energía, este ruido afecta a todos los pixeles, así que afecta a toda la imagen
completa, en la figura 1.1 se muestran los efectos de este ruido. [1]
Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 10
Fig 1.1. a) Imagen original b) Imagen con ruido Gaussiano.

La varianza es la estimación de la relación de la señal a ruido de una


imagen. La influencia del ruido gaussiano según la varianza, la podemos ver en
la figura 1.2

Fig. 1.2 a) Imagen original b) Varianza de s=0.025 c) Varianza de s= 0.05.

1.2.2 Ruido Impulsivo

El ruido Impulsivo es el que aparece dejando en la imagen, pixeles


completamente blancos, en un orden aleatorio como se ve en la figura 1.3. [1]

Fig. 1.3 a) Imagen original b) Imagen con ruido impulsivo del 10%
c) Imagen con ruido impulsivo del 30%.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 11


1.2.3 Ruido Sal y Pimienta

El ruido sal y pimienta aparece en las imágenes, tomando valores muy


altos o muy bajos, esto en la imagen se representa como pixeles aleatorios de
colores completamente blancos o completamente negros. Por tal motivo se le ha
dado el nombre ruido sal y pimienta, dejando los valores como valor máximo (sal)
o valor mínimo (pimienta), como se observa en la figura 1.4. [1]

Fig. 1.4 a) Imagen original b) Imagen con ruido sal y pimienta.

1.2.4 Ruido Uniforme

Es el ruido que aparece en las imágenes mostrando una distribución


uniforme, La probabilidad de tomar cualquier valor de gris dentro de un intervalo
definido es constante. Aunque se puede distinguir en dos categorías como son:

1.2.4.1 Ruido Uniforme Frecuencial

La imagen obtenida es la real más una interferencia de señal periódica, (senoide,


cosenoide...) figura 1.5. [1]

Fig. 1.5 a) Imagen original b) Imagen con ruido frecuencial

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 12


1.2.4.2 Ruido Uniforme Cursivo o Multiplicativo

La señal obtenida es fruto de la multiplicación de dos señales, la imagen original


con una señal de ruido, vea la figura 1.6.

Fig. 1.6 a) Imagen original b) Imagen con ruido multiplicativo

Para este caso podemos observar el grado del ruido, cuando este es
recibido con diferentes varianzas, por ejemplo el caso de la figura 1.7. [1]

Fig. 1.7 a) Imagen original, b) Imagen con ruido multiplicativo de s=0,005


c) Imagen con ruido multiplicativo de s=0,025.

1.2.5 Ruido Speckle

Las imágenes de ultrasonido presentan un especial tipo de ruido llamado


Speckle. El cual degrada significativamente la calidad de la imagen, aumentando
de esta forma la dificultad de discriminar detalles finos en las imágenes durante un
examen de diagnóstico. También dificulta el procesado de las imágenes, tales
como la segmentación y la detección de bordes.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 13


Es un patrón granular presente en las imágenes de ultrasonido.
Considerado como un tipo de ruido multiplicativo a la señal.

1.3 ELIMINACIÓN O DISMINUSIÓN DEL RUIDO

Como ya se dijo la cantidad de ruido se mide gracias a una medida llamada


varianza del ruido, aunque es más interesante medirla con relación a la energía
de la señal o la imagen. La varianza se caracteriza en el cálculo, de las muestras
de la potencia de ruido que afecta al sistema, que también se combina con los
errores de amplitud y de incremento en la fase obtenidos por el receptor de la
imagen [2]. La disminución de esta varianza en la imagen dará como beneficio la
detección y clasificación de blancos por medio de métodos computacionales
eficientes.
El método computacional que elegimos para el tratamiento de las imágenes
es Matlab, dicho programa cuenta con una serie de procesos para eliminar o
reducir el ruido en una imagen. Esta reducción o eliminación se lleva a cabo
gracias a la utilización de filtros, adaptados a diferentes ruidos.

1.4 TIPOS DE FILTROS

La supresión de ruido es importante ya que cualquier sistema de visión


artificial comienza con el procesamiento de los valores de intensidades. En este
tema hablaremos de algunos modelos de ruido y su filtrado. El filtrado constituye
una buena caja de herramientas para muchas situaciones reales [3]. Por ejemplo
un filtro de paso bajo es de gran beneficio, pero como su nombre lo indica, solo
permite el paso de datos que contengan un valor menor en frecuencia a la
establecida, así que por consecuencia atenúa los datos con frecuencias altas. La
utilización de un filtro de paso bajo solo se utilizará para prevenir la introducción
de altas frecuencias y distorsión, en la imagen digital.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 14


1.4.1 Filtros lineales

Este tipo de filtros realiza una operación de convolución, entre la imagen a


ser filtrada y una máscara a quitar. Entonces es necesario definir una matriz que
contendrá los coeficientes del filtro, lo que a su vez define los píxeles del entorno
que serán utilizados como argumento del filtro lineal que alterará el valor del píxel.
A esta matriz se le denomina máscara y tiene una dimensión [m, n].
Esto lo podemos definir de la siguiente manera: Dada una imagen G que
es la suma de I y un ruido n, (G=I+n), atenuar n lo más posible (eliminarlo, si es
posible) sin alterar I significativamente. El filtrado lineal, trabajara en la imagen G
de tamaño MxN, observada la versión filtrada lineal de G, será la estimación de Ie
dada por

Ie(i,j)= A(h,k)G(i-h,j-k)

donde “A” es el núcleo de la convolución.

Uno de los principales inconvenientes que muestra este proceso es el


enturbiamiento que este filtro produce en nuestra imagen, así que este provoca un
difuminado en los bordes, por lo que tienen que ser utilizados con cierta
precaución. [3]

1.4.2 Filtro de la media

Si tenemos una imagen representada como f(x,y), este filtro generará una
nueva imagen g(x,y) cuya intensidad para cada píxel se obtiene promediando los
valores de intensidad de los píxeles f(x,y) incluidos en un entorno de vecindad
predefinido.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 15


El funcionamiento básicamente consiste: en asignar al pixel central la
media de todos los pixeles incluidos en la ventana, así que se efectúa el promedio
de los valores del entorno. Este reemplaza el valor de un píxel por la media de
los valores del punto y sus vecinos. Su efecto es el difuminado o suavizado de la
imagen y se aplica junto con el de mediana para eliminar ruidos. Por ejemplo este
filtro lo implementamos con la siguiente máscara para un tamaño 3x3:

Fig. 1.8. Máscara para un tamaño de 3x3.

Normalmente el tamaño de la máscara se toma en función de la cantidad de


suavizado que queramos aplicar en cada momento. La visualización del resultado
es el único medio de saber si hemos elegido el tamaño adecuado.
Se puede observar que el efecto final del filtro de la media es un suavizado
de la imagen por reducción o redistribución del valor de los píxeles. Este filtro tiene
el resultado opuesto a los de detección de bordes, donde el objetivo de los filtros
es acentuar las diferencias, por esta razón el filtro de la media es un filtro paso
bajo. También hay que notar que este filtro no modifica la imagen en las zonas
donde el valor de los píxeles es el mismo, en oposición a los detectores de bordes
que ponen estas regiones a cero.
En resumen, la media, como el resto de los filtros de suavizado, suaviza los
contornos y otros detalles de forma que los objetos aparezcan menos definidos.
En Matlab la función que nos permite realizar el filtro de la media es:
imfilter.

B = imfilter(A,H,option1,option2,...)

Esta función filtra el arreglo A, con un filtro multidimensional H, que realiza


el proceso de acuerdo con una opción específica, los argumentos se pueden
observar en la tabla 1.1, el resultado se almacena en B.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 16


Tabla 1.1. Diferentes filtros creados para H.
VALOR DESCRIPCIÓN
‘average’ Filtro promedio
‘disk’ Filtro de media circular
‘gaussian’ Filtro Gaussiano pasa bajos
‘laplacian’ Operador Laplaciano de aproximación a dos
dimensiones

'log' Filtro Laplaciano de Gauss

´motion´ Movimiento lineal como el de una cámara

'prewitt' Prewitt horizontal, filtro que realza el borde

'sobel' Sobel horizontal, filtro que realza el borde

'unsharp' Filtro unsharp, aumento al contraste

La función de Matlab que permite generar el filtro H es fspecial. Esta


función crea filtros bidimensionales del tipo especificado por type.

h = fspecial(type,parameters)

El valor de type puede ser seleccionado de los valores mostrados en la


tabla 1.1. [4]

1.4.3 Filtro Gaussiano

Este filtro utiliza el valor de cada punto, que es el resultado de promediar


los distintos pesos, estos valores son los que contiene el vecino a ambos lados de
dicho punto. También presenta el problema del difuminado de los bordes en la
imagen, pero no es tan marcado como en el caso del filtro de media simple. Este
tipo de filtro reduce especialmente el ruido gaussiano. [3]

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 17


1.4.4 Filtros no lineales, filtros de mediana

Este tipo de filtro también crea nuevos pixeles en una nueva imagen, estos
pixeles se generan calculando la mediana del conjunto de píxeles del entorno,
gracias a los pixeles vecinos que corresponden a la imagen origen. De esta forma
se homogeneízan los píxeles de intensidad muy diferente con respecto a la de los
vecinos.
Este filtro es utilizado con mucha frecuencia en imágenes que contienen
ruido aleatorio. El filtro de mediana en Matlab se puede implementar con la
función medfilt2, esto es:

B = medfilt2(A) ----------------------------------------- (1)

donde A es la matriz de entrada a la que se le aplica el filtro de la mediana


utilizando por default una vecindad de 3X3. [3]

1.4.5 Filtrado adaptativo

Este filtro utiliza una función llamada wiener2, que aplica un filtro lineal a
una imagen adaptable, cuando mencionamos que es un filtro adaptativo o
adaptable hablamos de la capacidad de manejar valores de imagen utilizando un
valor local (varianza). Cuando la diferencia es grande, wiener2 realiza un filtrado
de suavizado. Y cuando la diferencia es pequeña, wiener2 realiza un filtrado aun
más suavizado que el anterior.
La utilización de este filtro a menudo produce mejores resultados que los
que arroja un filtrado lineal, esto se debe a que el filtro adaptativo es más
selectivo que el filtro lineal, la preservación de los bordes y otras partes de alta
frecuencia de una imagen.
La función wiener2 se encarga de todos los cálculos preliminares y aplica
el filtro a una imagen de entrada, pero esta función requiere más tiempo de
cálculo de filtrado lineal.
Wiener2 funciona mejor cuando el ruido es constante, tal como lo es el
ruido Gaussiano.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 18


1.4.6 Filtros digitales

Son usados principalmente para eliminar altas o bajas frecuencias de la


imagen, es decir, para suavizarla o bien, para realzar o detectar los bordes de la
imagen. Esta imagen se puede filtrar en el dominio del espacio, trabajando
directamente sobre los píxeles de la imagen, o en el dominio de la frecuencia,
donde las operaciones se llevan a cabo a través de la transformada de Fourier de
la imagen.

1.4.7 Filtros estadísticos ordenados

Funcionan ordenando los valores en la vecindad de cada punto de menor a


mayor, y obteniendo algún valor a partir de la lista ordenada, por ejemplo:

• Mínimo: selecciona el valor más pequeño.


• Máximo: selecciona el valor más alto.
• Mediana: selecciona el valor en la posición intermedia.

En conclusión en el capitulo analizamos los diferentes tipos de ruido que


podemos encontrar en las imágenes digitales y sus posibles orígenes, así como
las consecuencias que traen al encontrarlos en una imagen, por ello mostramos
adicionalmente la utilización de filtros para eliminarlos o degradarlos, para poder
continuar con el procesamiento de imágenes, que es el tema que se abordara en
el siguiente capítulo II.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 19


CAPÍTULO II: MANEJO Y PROCESAMIENTO DE IMÁGENES
DIGITALES

En este capítulo, se revisará la forma en la cual se hace el manejo y


procesamiento de las imágenes digitales y como utilizaremos estos beneficios,
para hacer el “Procesamiento de Imágenes en ultrasonidos”, con el objetivo de
obtener información útil, para su utilización posterior.

2.1 INTRODUCCIÓN

Al mencionar la palabra “Procesamiento Digital de Imágenes”, hacemos


referencia a la manipulación de imágenes, con un aspecto digital, con la intención
de mejorar o modificarlas, así como la extracción de información útil a partir de
ellas. Este manejo también nos ofrece ventajas como son: fáciles de almacenar,
de preservar, de duplicar o de copiar, pueden incluirse de forma sencilla en
informes o presentaciones y pueden trasmitirse por líneas de transferencia de
datos.
Las imágenes digitales son: fotografías, documentos, manuscritos, textos e
ilustraciones escaneadas u obtenidas en forma digital, donde se ha confeccionado
un mapa de ella, en forma de cuadrícula de puntos de la figura llamados píxeles. A
cada píxel se le asigna un valor de tono (negro, blanco, matices de grises o de
color), el cual para imágenes blanco y negro están representados en código
binario (ceros y unos). Cada píxel es almacenado en una computadora en
secuencia, donde se les reduce a una representación matemática, la computadora
interpreta y lee los bits para producir una versión para su correcta visualización e
impresión.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 20


En la figura 2.1 se muestra un ejemplo de una imagen digital.

Fig. 2.1 a) Imagen con valores 0 y 1, b) Imagen bitonal.

Podemos entonces definir una imagen, como una función bidimensional de


intensidad de luz, dada por f(x, y), donde “x” y “y” denotan las coordenadas
espaciales y el valor de f en cualquier punto.
Este tipo de imágenes son conocidas como imágenes a escala de grises ya
que las imágenes RGB, están representadas por un arreglo de datos de mXnX3,
donde 3 define el componente: rojo, verde o azul de cada píxel, la combinación de
los componentes definen el color representado en el píxel correspondiente. [5]

En Matlab podemos trabajar con distintos tipos de archivos, mostrados en la


tabla 2.1
Tabla 2.1. Tipo de archivos para trabajar en Matlab.
FORMATO EXTENSION
TIFF .tiff
JPEG .jpg
GIF .gif
BMP .bmp
PNG .png
XWD .xwd

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 21


2.2 IMAGE PROCESSING TOOLBOX

El Toolbox proporciona a Matlab un conjunto de funciones que amplía las


capacidades de desarrollo de aplicaciones y de nuevos algoritmos en el campo del
proceso y análisis de imágenes. El entorno matemático y de creación de Matlab
es ideal para el procesado de imágenes, ya que estas imágenes son, al fin y al
cabo, matrices. Este toolbox incorpora funciones para:

• Diseño de filtros.
• Mejora y retocado de imágenes.
• Análisis y estadística de imágenes.
• Operaciones morfológicas, geométricas y de color.
• Transformaciones 2D.

El proceso de imágenes es un campo de trabajo absolutamente crucial para


él diagnóstico en campos de Médicina, Astronomía, Geofísica, Ciencias
medioambientales, Análisis de datos en laboratorios, Inspección industrial, etc. Los
programas actuales de procesado y análisis de imágenes se clasifican
actualmente en dos categorías:

• Librerías de bajo nivel para programadores profesionales.


• Paquetes de aplicación, con capacidades limitadas de personalización.

Ambos tipos de aplicaciones están, generalmente, pensados para tareas


básicas de visualización de datos. Sin embargo, muchos de ellos adolecen de la
posibilidad de efectuar análisis numéricos de los mismos. [6]
El Image Processing Toolbox entra en la categoría de familias de funciones
que, desde el entorno de trabajo de Matlab, permitirá al profesional efectuar una
exploración exhaustiva y desde un punto de vista matemático de las imágenes y
gráficos que se deseen tratar o analizar. [7]

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 22


2.2.1 Tipos de datos en una imagen

Los elementos unit8 constituyen una imagen en Matlab tienen el formato


entero, que es un tipo de dato que puede variar de 0 a 255, sin poder soportar
decimales y valores que salgan fuera de ese rango. Lo anterior resulta una
desventaja principalmente en aquellos casos donde se implementan algoritmos
que trabajan con este tipo de datos para realizar operaciones de división o
multiplicación por tipo de dato flotante, en estos casos es necesario trasformar la
imagen de tipo de dato uint8 a double. Es importante tener en cuenta que si se
utiliza la función imshow para desplegar las imágenes; esta no tiene la capacidad
de poder desplegar imágenes del tipo double por lo que una vez realizado las
operaciones de punto flotante es necesario después convertir al tipo de dato uint8.
[8]
Los tipos de datos de una imagen, con los que podemos trabajar se
muestran en la tabla 2.2
Tabla 2.2 Tipo de datos.
TIPO DESCRIPCIÓN
double Doble precisión, números en punto flotante que varían en un rango
308 308
aproximado de -10 a 10 (8 bytes por elementos)
uint8 Enteros de 8 bits en el rango de [0, 255] (1 byte por elemento)
uint16 Enteros de 16 bits en el rango de [0,65535] (2 byte por elemento)
uint32 Enteros de 32 bits en el rango de [0, 4294967295] (4 bytes por
elemento)
int8 Enteros de 8 bits en el rango de [-128, 127] (1 byte por elemento)
int16 Enteros de 16 bits en el rango de [-32768, 32767] (2 bytes por
elemento)
int32 Enteros de 32 bits en el rango de [-2147483648, 2147483647]

single Número de punto flotante de precisión simple, con valores


38 38
aproximadamente en el rango de -10 a 10 (4 bytes por
elemento)
char Carácter (2 bytes por elemento)
logical Los valores son 0 ó 1 (1 byte por elemento)

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 23


2.3 TIPOS DE IMÁGENES

Es la relación definida entre los valores de un array y los colores de los


píxeles. El toolbox soporta imágenes binarias, indexadas, de intensidad y RGB.

2.3.1 Imagen binaria (Binary image)

Imagen que contiene sólo píxeles de color blanco y negro. En Matlab, una
imagen binaria es representada por una matriz de tipo uint8 o double logical que
contiene 0’s y 1’s (los cuales representan blanco y negro respectivamente). Una
matriz es logical cuando sus flags lógicas, están habilitadas. De forma habitual se
nombra a la variable que contiene una imagen binaria como BW.

2.3.2 Imagen indexada (Indexed image)

Imagen cuyos píxeles tienen valores que son índices directos a un mapa de
color RGB. En Matlab, una imagen indexada es representada por un array de
clase uint8, uint16, o double. El mapa de color es siempre un arreglo mx3 de
clase double. De forma habitual se nombra a la variable que contiene una imagen
indexada como X.

2.3.3 Imagen de intensidad (Intensity image)

Es una imagen cuyos valores de píxeles corresponden a una escala de


grises. En Matlab, una imagen de intensidad es representada por un arreglo de
clase uint8, uint16, o double. Mientras estas imágenes no sean guardadas con
mapas de color, Matlab usará un mapa del sistema para mostrarla. De forma
habitual se nombra a la variable que contiene una imagen de intensidad como I.
Este término es sinónimo de escala de grises.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 24


2.3.4 Imagen multiframe (Multiframe image)

Un archivo que contiene más de una imagen o frames. Una vez guardado
en una variable, la imagen multiframe es un arreglo de 4 dimensiones, donde la
cuarta dimensión especifica el número del frame. Este término es sinónimo de
imagen multipágina (multipage image).

2.3.5 Imagen RGB (RGB image)

Una imagen cuyos píxeles son especificados por 3 valores, uno para cada
componente de color (rojo, verde y azul) de cada píxel. En Matlab, una imagen
RGB es representada por un arreglo mxnx3 de clase uint8, uint16, o double. De
forma habitual se nombra a la variable que contiene una imagen RGB como RGB.

2.4 LECTURA Y ESCRITURA DE IMÁGENES A TRAVÉS DE ARCHIVO

Para leer imágenes contenidas en un archivo al ambiente de Matlab se


utiliza la función imread, cuya sintaxis es:

imread(’nombre del archivo’) ----------------------------------- (1)

donde nombre del archivo es una cadena de caracteres conteniendo el nombre


completo de la imagen con su respectiva extensión, los formatos de imágenes que
soporta Matlab son los mostrados en la tabla 2.1.
Para introducir una imagen guardada en un archivo con alguno de los
formatos especificados solo tiene que usarse la función imread y asignar su
resultado a una variable que representará a la imagen, entonces se tendría que
escribir en línea de comandos:

Imagen = imread(’data.jpg’) ----------------------------------- (2)

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 25


Entonces la imagen contenida en el archivo data.jpg quedará contenida en
la variable imagen. Una vez que la imagen está contenida en una variable de
Matlab es posible utilizar las funciones para procesar la imagen. Por ejemplo, una
función que permite encontrar el tamaño de la imagen es:

[m, n]=size(image) ------------------------------------------------ (3)

en donde m y n contendrán los valores de las dimensiones de la imagen.

Para grabar el contenido de una imagen en un archivo se utiliza la función


imwrite.

imwrite(variable,’nombre del archivo’) -------------------- (4)

en donde variable representa la variable que contiene a la imagen y nombre del


archivo el nombre del archivo con su respectiva extensión de acuerdo a la tabla
2.1
Suponiendo que la variable imagen2 contiene la imagen que nos interesa
grabar en el archivo dato2.jpg tendríamos que escribir:

imwrite(imagen2, ’data2.jpg’) ------------------------------- (5)

Después que realizamos un procesamiento con la imagen, es necesario


desplegar el resultado obtenido, la función imshow(variable) permite desplegar la
imagen en una ventana en el ambiente de trabajo de Matlab.[8]

imshow(imagen2); ------------------------------------------ (6)

El comando imshow nos arroja la imagen contenida en una matriz.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 26


2.4.1 Leyendo imágenes de disco

Para leer la imagen que vamos a procesar, empleamos el comando imread,


pero solo hemos explicado el proceso de leer imágenes contenidas en la pc, para
leer imágenes contenidas en una unidad externa solo bastaría con especificar la
ruta exacta de la imagen, por ejemplo suponemos que la imagen es: 'imagen1.jpg',
y la tenemos en una unidad externa, entonces tendríamos que escribir:

f = imread('D:\imagenes\imagen1.jpg') ----------------- (7)

Lo que se realiza a continuaciones es crear una matriz f, de una imagen en


blanco y negro, cada elemento tendrá un valor de 0 ó 1, como se muestra en la
siguiente tabla 2.3

Tabla 2.3. Muestra los valores del arreglo f, que representa la imagen.

f( 1,1 ) f(1,2 ) … f( 1,N)


f= f( 2,1 ) f(2,2 ) … f(2,N)
f(M,1 ) f(M,2) … f(M,N)

Cabe mencionar, que en la línea de comando podemos escribir lo siguiente:


imshow(f,G) ---------------------------------------------------- (8)

donde f es la imagen a mostrar y G es el número de niveles de intensidad a


mostrar. Si G se omite, se usa 256. La sintáxis es la siguiente:
imshow(f,[low high]) ----------------------------------------- (9)

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 27


El resultado se puede observar en la figura 2.2

Fig. 2.2 a) Imagen con el comando imshow(f), b) Imagen con comando imshow f [low high]

Una utilidad interesante de imshow es:

imshow(f,[ ]) ------------------------------------------------- (10)

El comando expande el rango dinámico de la imagen, rango de diferencia


de tono entre la parte más clara y la más oscura de una imagen, pone como límite
inferior, el valor mínimo de intensidad de la imagen y como límite superior su valor
máximo, que se muestra en la figura 2.3

Fig. 2.3 a) Imagen con el comando imshow(f), b) Imagen con el comando inshow f [ ]

Además con imshow(f),si se ejecuta pixval en la línea de comando de


nuestra última figura abierta, se podrá ver el valor de intensidad, cuando el ratón
pasa sobre un píxel concreto.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 28


También se puede medir la distancia euclídea entre dos puntos, en
matemáticas la distancia euclidiana o euclídea es la distancia "ordinaria" entre dos
puntos de un espacio euclideo espacio matemático n-dimensional usual, Matlab
usualmente cuando dibuja una nueva figura, sobreescribe la ventana de la figura
anteriormente mostrada [9]. Para mostrar la segunda figura en una ventana
independiente, ejecutar lo siguiente:

figure, imshow(f) ----------------------------------------------(11)

Para obtener información más detallada de una imagen almacenada en


disco, podemos utilizar el comando imfinfo, escribiendo en la línea de comando:

imfinfo nombre_fichero ------------------------------------- (12)

2.5 EXTRACCIÓN DE BORDES

En visión computacional es de utilidad para hacer reconocimiento de


objetos o bien para segmentar regiones, extraer los bordes de objetos (que en
teoría delimitan sus tamaños y regiones).
Los bordes de una imagen digital se pueden definir como transiciones entre
dos regiones de niveles de gris significativamente distintos. Estos suministran una
valiosa información sobre las fronteras de los objetos y puede ser utilizada para
segmentar la imagen, reconocer objetos, etc. La mayoría de las técnicas para
detectar bordes emplean operadores locales basados en distintas aproximaciones
discretas de la primera y segunda derivada de los niveles de grises de la imagen.
Las funciones que permite encontrar bordes a partir de algoritmos pueden
ser:

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 29


2.5.1 Método de Prewitt

Enfatiza los bordes horizontales y verticales como resultado de aplicar el


gradiente para obtener las matrices que constituirán las máscaras.

2.5.2 Método de Roberts

Es uno de los más antiguos, simples y menos utilizado de los métodos de


detección de bordes en la actualidad, a pesar de que su sencillez en la
implementación es atrayente para las aplicaciones hardware de alta velocidad.

2.5.3 Método de filtro Laplaciano

Mejora la nitidez de la imagen por su capacidad de captar altas


discontinuidades como resultado de la segunda derivada. Adicionalmente, detectar
un borde es detectar el cruce por cero de la segunda derivada de la imagen.

2.5.4 Método Laplaciano de la Gausiana (log)

Es el resultado de aplicar la segunda derivada (el laplaciano, con respecto a


2 2
s + t ) a una función gausiana (de ahí su nombre laplaciana de la gausiana). La
detección de los bordes cuando se aplica la segunda derivada se basa en detectar
los cruces por cero después de filtrar la imagen.

2.5.5 Método Canny

Consiste en tres grandes pasos:

• Obtención del gradiente: en este paso se calcula la magnitud y


orientación del vector gradiente en cada píxel.
• Supresión no máxima: en este paso se logra el adelgazamiento del
ancho de los bordes, obtenidos con el gradiente, hasta lograr bordes
de un píxel de ancho.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 30


• Histéresis de umbral: en este paso se aplica una función de histéresis
basada en dos umbrales; con este proceso se pretende reducir la
posibilidad de aparición de contornos falsos.

2.5.6 Método Sobel

Operador que realiza una medición 2-D gradiente espacial en una imagen y
así se hace hincapié en las regiones de alta frecuencia espacial que se
corresponden con los bordes. Normalmente se utiliza para encontrar la
aproximación de la magnitud absoluta de gradiente en cada punto de entrada de
una imagen en escala de grises. [10]
Para observar los resultados de los métodos, sugerimos pasar a la sección
apéndice B, donde mostramos los resultados de estos métodos en la Fig 2.4.

2.6 IMÁGENES BINARIAS Y SEGMENTACIÓN POR UMBRAL

Recordemos que una imagen binaria es una imagen en la cual cada píxel
puede tener solo uno, de dos valores posible. Como es lógico una imagen en
esas condiciones es mucho más fácil encontrar y de distinguir sus características
estructurales. [9]
En visión computacional el trabajo con imágenes binarias es muy
importante ya sea para realizar segmentación por intensidad de la imagen, para
generar algoritmos de reconstrucción o reconocer estructuras. La forma más
común de generar imágenes binarias es mediante la utilización del valor umbral de
una imagen a escala de grises; es decir se elige un valor limite (o bien un
intervalo) a partir del cual todos los valores de intensidades mayores serán
codificados como 1 mientras que los que estén por debajo serán codificados a
cero.
En Matlab este tipo de operaciones se realizan de forma bastante sencilla
utilizando las propiedades de sobrecarga de los símbolos relaciónales. Por
ejemplo si de la imagen “ejemplo” quisiera realizarse este tipo de operación de tal
forma que los píxeles mayores a 128 sean considerados como 1 y los que son
menores o iguales a 128 como cero.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 31


Los resultados se muestran en la figura 2.5, para verificar el código, pasar
al apéndice B de la Fig. 2.5.

Fig. 2.5 a) Imagen original, b) Resultado de un umbral de 50

En este capítulo se reviso la manera de emplear los primeros cambios en


con el objetivo de realizar el procesamiento digital a una imagen, aunque cabe
mencionar que existen diversas técnicas para llevar a cabo este procesamiento, y
que dependen enteramente del programador o de los detalles que consideremos
cambiar en la imagen.
En el siguiente capítulo III se mostrara una técnica que es conocida como la
más poderosa e útil para el procesamiento de imágenes, las wavelets.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 32


CAPÍTULO III: WAVELETS

En este capítulo, demostraremos el porqué las wavelets se han


convertido, en una de las principales herramientas de procesamiento de
imágenes, que goza de gran popularidad en varias áreas como son las Ciencias
y la Medicina, estas ayudan a los cálculos que se necesitan realizar, para el
tratamiento de las imágenes.

3.1 INTRODUCCIÓN

Las wavelets proporcionan un conjunto de herramientas flexible para


problemas prácticos, en las ciencias y la ingeniería, su crecimiento se ha
observado en la última década, al aplicar estas wavelets en el análisis de señales,
obteniendo resultados exitosos.
Una ventaja de la utilización de las wavelets es que permiten modelar
mejor los procesos que dependen fuertemente del tiempo, ya que generalmente
su comportamiento no tiene porqué ser suave, por ello la transformada wavelet
resulta eficiente para extraer información.
Otra de las ventajas de dicha transformada frente a otros métodos es el de
poder disponer de una amplia familia de ellas, lo cual permite tratar imágenes de
diversa índole. Así que la elección de la wavelet dependerá del tipo de imagen que
analicemos.
Las wavelets pueden ser utilizadas en problemas que afectan al tratamiento
de señales e imágenes digitales, ya que representa una potente herramienta para
resolverlos. Podemos utilizarla para los siguientes problemas:

• Reducción del ruido (en señales de audio y en imágenes).


• Compresión de señales (de vital importancia tanto en la transmisión de
grandes cantidades de datos como en su almacenamiento).
• Detección de determinados objetos en imágenes o irregularidades
locales en ciertos tipos de señales (electrocardiogramas, vibraciones de
motores, etc.).

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 33


La transformada wavelet discreta es una transformación de la señal que la
divide en dos tipos de subseñales:

• La tendencia viene a ser una copia de la señal a menor resolución.


• Las fluctuaciones almacenan información referida a los cambios locales
en la señal original.

La tendencia y las fluctuaciones más significativas permiten una compresión


de la imagen, con la finalidad de descartar información irrelevante y así proceder a
la eliminación de un ruido producido por algunos aparatos y condiciones de
medida. [11]

3.2 WAVELETS

Llamada Transformada Wavelet, es una herramienta matemática


desarrollada a mediados de los años ochenta. Nace a partir de la necesidad de
analizar diversas funciones, debido a que en la naturaleza muchos de los
procesos pueden ser modelados como funciones, ya sea discreto o continuo. El
análisis de wavelets consiste en descomponer una señal en versiones escaladas
móviles, de la wavelet original “madre”. [12]
Las wavelets se centran en las matemáticas puras, como aplicadas,
construidas para el análisis de funciones, en especial las funciones cuadrado
integrables. Su teoría y aplicaciones, tienen una fuerte conexión con la
transformada de Fourier, siendo más eficientes para el análisis local de señales no
estacionarias y de rápida transitoriedad, y al igual que la Transformada de Fourier
con Ventana, esta mapea la señal en una representación de tiempo-frecuencia,
que será capaz de revelar aspectos de los datos como tendencias, puntos de
quiebre, discontinuidades en las derivadas, y auto-similaridad. Este análisis puede
muchas veces comprimir o eliminar ruido sin degradación apreciable, además de
proveer un análisis de multiresolución con ventanas dilatadas. El análisis de las
frecuencias de mayor rango se realiza usando ventanas angostas y el análisis de
las frecuencias de menor rango se hace utilizando ventanas anchas. [13]

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 34


Dentro de los usos de esta poderosa herramienta podemos nombrar,
además del análisis local de señales no estacionarias, el análisis de señales
electrocardiográficas, sísmicas, de sonido, de radar, así como también es utilizada
para la compresión y procesamiento de imágenes y reconocimiento de patrones.

3.3 ANÁLISIS DE FUNCIONES

Las wavelets son funciones matemáticas que se pueden utilizar para filtrar
series temporales de datos y analizar la variación de su contenido espectral,
ofreciendo una representación tiempo-frecuencia más precisa.

3.3.1 Análisis de Fourier

Permite el análisis en el tiempo así como de la frecuencia de una función,


pero solo uno a la vez. [11]

a0 + (ak coskt +bksinkt) --------------------------- (1)

a0= 1/2π

a0= 1/2π

a0= 1/2π
Fig. 3.1 Representación de la función de Fourier

ƒ(w)= ------------------------------- (2)

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 35


de donde se obtiene la inversa

ƒ(t)= ----------------------------------- (3)


Fig. 3.2 Transformada de Fourier

Fig. 3.3 Descomposición de una señal por la transformada de Fourier.

3.3.2 Análisis de Wavelets

Permite el análisis “multirresolución”, mejorando notablemente el análisis en


pequeños intervalos con gran cantidad de información.

Ψa,b(t)= ----------------------------------------- (4)

Utilizando la base díadica.

j /2 j
Ψj.k = 2 Ψ ( 2 t - k) ---------------------------------------- (5)
-j –j
con a = 2 y b = 2 k
Fig. 3.4. Representación de la función Wavelet.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 36


Wgf (b,a) = (f *ψa)(b) con
Ψ(t) = ψ(-t)
(f1 * f2)(x)= ʃℝ f1(x-t)f2(t)dt
Fig. 3.5. Transformada de Wavelet.

Fig. 3.6. Descomposición de una señal por la transformada Wavelet

“Una forma de pensar en las wavelets es plantear cómo miran nuestros ojos
al mundo. Desde un avión un bosque se ve como una cubierta verde. Desde un
carro se ven los árboles individualmente. Si nos acercamos vemos las ramas y las
hojas. A medida que nos acercamos a escalas más pequeñas, podemos encontrar
detalles que no habíamos visto antes.” Dana Mackenzie. [12]

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 37


3.4 BASES WAVELET

Sabemos que al hacer una proyección de una función, en base a una


función de escala ortonormal, resulta que obtenemos una aproximación con pocos
detalles de dicha función, posiblemente en un nivel de resolución particular, así
que perdemos algo de información en el proceso. Esto significa que la función de
escala f no es completa a cualquier nivel. Por lo tanto, se usan las proyecciones
sobre otras funciones, denominadas wavelet ortonormales (o simplemente
wavelets), para obtener la información complementaria de los detalles de la
función. La Transformada Wavelet es la descomposición de f(x) en una base de
funciones formada por la traslación y dilatación de una misma función, la función
de escala.
La descomposición de funciones y su reconstrucción puede ser computada
mediante el algoritmo piramidal donde, en cada nivel de resolución, la función se
descompone en una aproximación detalle más una aproximación gruesa llamada
tendencia.
La Transformada Wavelet de una función f(x) en dos dimensiones tiene
aplicaciones en el procesamiento de imágenes. [13]

3.5 ALGORITMO DE LA TRANSFORMADA WAVELET PIRAMIDAL

En esta sección se describirá el algoritmo mediante el cual se calcula la


Transformada Wavelet Discreta con estructura piramidal, en los casos de arreglos
bidimensionales, para posteriormente utilizar las bases ortonormales de
Daubechies.

3.5.1 Transformada Wavelet Piramidal. Algoritmo

La transformada Wavelet se puede implementar sobre numerosas bases.


Las diferentes categorías de wavelets (continuas, discretas, ortogonales, etc.) y
los varios tipos de funciones wavelets dentro de cada categoría proveen una gran
cantidad de opciones para analizar una señal de interés.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 38


Esto permite elegir la base de funciones cuya forma se aproxime mejor a
las características de la señal que se desea representar o analizar.
Las wavelet de Daubechies, en la transformada Wavelet son las más
utilizadas para el procesamiento digital y análisis de imágenes, estas tienen la
propiedad de formar una base ortonormal y poseen soporte compacto. Por esta
razón, son adecuadas para el análisis de señales con soporte finito (por ejemplo:
notas musicales, electrocardiogramas, sismogramas, etc.) y en particular para el
análisis y procesamiento de imágenes.
Debido a la condición de ortonormalidad, se asegura la independencia de la
representación de la señal en los diferentes niveles de descomposición, es decir,
que no se genera información redundante de la señal, y así, se evita la aparición
de información falsa. Además, las bases de Daubechies permiten calcular la
transformada Wavelet mediante un algoritmo menos complejo, con un bajo costo
computacional y numéricamente estable (los cálculos realizados son confiables
dentro de la precisión numérica de la computadora), lo cual las hace eficientes.
En el cálculo práctico de la transformada wavelet ortonormal, mediante
bases wavelet de Daubechies se utiliza un conjunto de filtros discretos paso-bajo y
paso-alto, p(n) y q(n). De esta forma, dado un vector de datos de longitud igual a
un número entero potencia de dos, la descomposición y reconstrucción wavelet
ortonormal se implementa con el algoritmo piramidal iterando estos filtros. [13]
Cabe mencionar que dichos filtros permiten que el análisis se concentre
tanto en las frecuencias (filtro pasa baja), como en el tiempo (filtro pasa alta).
Además permiten reconstruir la señal original de una manera apropiada. [12]
Los filtros periódicos p(n) y q(n), son filtros de soporte compacto con un
número finito N de coeficientes distintos de cero, es decir, el grado de los filtros es
(N–1). Por lo tanto, los dos conjuntos de filtros forman una matriz de 2xN:

Fig. 3.6 Ejemplo de una matriz 2xN

La cual es utilizada en el algoritmo de descomposición.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 39


3.5.2 Funciones de Daubechies

Como mencionamos anteriormente utilizamos las bases wavelets de


Daubechies. Esta clase incluye un rango de funciones que se extiende desde
funciones altamente localizadas a funciones altamente suavizadas. Dentro de esta
clase encontramos DAUB4, DAUB6, DAUB8, etc., hasta DAUB20, donde el
número de Daubechies indica la cantidad de coeficientes distintos de cero.
Por lo tanto, la más simple y más localizada es DAUB4, que tiene solo
cuatro coeficientes no nulos. La decisión con respecto a cuál base de Daubechies
es la más conveniente debe basarse en la forma de la señal a analizar. Esto es,
se debe utilizar la wavelet que provea la mejor descripción de la señal con el
menor número de coeficientes no nulos. [13]

3.5.3 Número de operaciones

Consideremos ahora el número de operaciones requerido para la


Transformada Wavelet ortonormal de un vector de datos. Sea L la longitud del
vector de datos y N la longitud de los filtros p(n) y q(n). En la banda de frecuencia
más alta, el primer paso de descomposición requiere 2NL multiplicaciones y
sumas. En el algoritmo piramidal, en la siguiente banda de frecuencia más ancha
la longitud del vector de aproximación discreta c(n), está reducida a N/2. Por lo
tanto, el próximo paso de descomposición requiere 2(NL/2) multiplicaciones y
sumas.

3.6 TRANSFORMADA WAVELET BIDIMENSIONAL

En dos dimensiones la descomposición wavelet de una función f(x,y) puede


calcularse con un algoritmo similar al descripto anteriormente.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 40


Para el caso de procesamiento de imágenes, la imagen original constituye
la matriz de datos inicial c0(x,y), mostrado en la figura 3.7 (a)

Fig. 3.7 Pasos del proceso de descomposición de una imagen;


(a)Imagen original, (b) Descomposición en dirección vertical,
(c) Descomposición de (b) en dirección horizontal (Resultado final).

En cada nivel i de resolución se calcula la correlación entre las filas de


ci–1(x,y) y los filtros unidimensionales p(n) y q(n) en la dirección vertical, resultando
dos imágenes compuestas, cada una por la mitad de las filas de la matriz (Fig. 3.7
(b)). Luego se calcula la correlación entre estas imágenes y los filtros p(n) y q(n)
en la dirección horizontal resultando, de cada una, dos imágenes compuestas por
la mitad de las columnas (Fig. 3.7(c)).
Estas cuatro subimágenes resultantes constituyen las tres imágenes detalle
y la imagen aproximación (tendencia o residuo). El proceso es ejecutado con un
algoritmo piramidal como se muestra en la figura 3.8.

Fig 3.8. Esquema de la descomposición Wavelet en dos dimensiones, con filtros p(n) y q(n).

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 41


2
Si la imagen original tiene L pixeles, cada imagen ci(x,y), d1(x, y)i,
d2(x, y)i y 3(x, y)i, tiene (L/2i)2 pixeles (i > 0). Entonces, el número total de
2
pixeles de una representación wavelet ortonormal sigue siendo L , es decir, la
Transformada Wavelet no incrementa el volumen de datos.
La figura 3.9 muestra la descomposición de las tres imágenes detalle y la
imagen tendencia en los niveles de resolución 1, 2, 3.

Fig. 3.9. Esquema de la descomposición Wavelet piramidal en dos dimensiones

3.7 TRANSFORMADA WAVELET CONTINUA (CWT)

La Transformada Wavelet Continua (CWT) se utiliza para descomponer una


señal en wavelets, las pequeñas oscilaciones que están muy localizados en el
tiempo. Considerando que la transformada de Fourier descompone una señal de
longitud infinita en senos y cosenos, propiciando la pérdida de todos los tiempos y
la localización de información.
La base de CWT se centra en escalar y desplazar las versiones
localizadas de tiempo en base a una wavelet madre, y es utilizada para construir
representaciones en tiempo-frecuencia de una señal, que ofrecen muy buen
tiempo y frecuencia de localización.
La CWT es una convolución de la secuencia de datos a escala con una
versión traducida de la wavelet madre.
Pueden utilizarse para realizar representaciones tiempo-frecuencia de una
serie temporal de datos, en particular de datos sísmicos [12].

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 42


La transformada continua para las wavelets se puede definir como:

CWT(b,a) = (x(t),ψa,b(t))= ʃ -- (7)

A partir de la cual se puede obtener la inversa:


-1
x(t)= Cψ ʃ CWT(b,a) a,b ( ) da db -----------------(8)

Cψ = df <

3.8 TRANSFORMADA WAVELET DISCRETA (DWT)

La DWT aplicada a imágenes proporciona una matriz de coeficientes,


conocidos como coeficientes wavelet. Si a una imagen le aplicamos la DWT
obtenemos cuatro tipos de coeficientes: aproximaciones, detalles horizontales,
detalles verticales y detalles diagonales. La aproximación contiene la mayor parte
de la energía de la imagen, es decir, la información más importante, mientras que
los detalles tienen valores próximos a cero.
La elección de las wavelets analizadoras juega un papel muy importante en
los resultados finales. Entre las características más importantes a tener en cuenta
se encuentran: soporte compacto, simetría, etc. Las wavelets biortogonales son
las más eficientes para un posterior proceso de compresión, y en particular,
aquellas con pocos coeficientes, ya que el coste de obtención de los coeficientes
se incrementa con su número.
Generalmente, la energía de las imágenes se concentra en las frecuencias
bajas. Una imagen tiene un espectro que se reduce con el incremento de las
frecuencias. Estas propiedades de las imágenes quedan reflejadas en la
transformada wavelet discreta de la imagen. Los niveles más bajos de compresión
se corresponden con las bandas de alta frecuencia. En particular, el primer nivel
representa la banda de más alta frecuencia y el nivel más fino de resolución. A la
inversa, el último nivel (n) de descomposición corresponde con la banda de
frecuencia más baja y la resolución más tosca.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 43


Así, al desplazarse de los niveles más altos a los más bajos, o sea, de baja
resolución a alta resolución, se observa una disminución de la energía contenida
en las sub bandas recorridas.
Si los coeficientes wavelet obtenidos por medio de la transformada wavelet
discreta (DWT) para un nivel concreto poseen pequeñas magnitudes (valores
próximos a cero), se espera que esos coeficientes wavelet estén en los primeros
niveles de descomposición. El aumento del nivel de descomposición wavelet
produce unos coeficientes con mayores magnitudes. Adicionalmente, se puede
comprobar cómo existen similitudes espaciales a través de las sub bandas. [13]

Fig. 3.10 a) Imagen original, b) Organización de los coeficientes wavelets

3.9 WAVELETS Y RUIDO

Sabemos que en el tratamiento de las imágenes digitales es muy común


encontrarnos con un fenómeno llamado ruido, que aparece de improvisto y por
varias circunstancias. Para el caso de las imágenes obtenidas a través de
ultrasonidos, este ruido se denomina “speckle”, que es un efecto granulado
causado por la interferencia en el sensor de la cámara, más específicamente es
característico del laser. Este ruido dificulta la percepción y la extracción de los
detalles de la imagen.
En la actualidad existen varios métodos para eliminar el speckle. El
método que utilizaremos es el enfoque de wavelets hace una mejora suave en la
imagen, esta mejora implica suavizar y preservar las zonas, así como bordes de la
imagen que son detalles finos.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 44


La aplicación de este método ha demostrado una mejora significativa en la
reducción de speckle.
Los métodos utilizados para la reducción del speckle pueden ser divididos
aproximadamente en dos categorías:

• La primera categoría: Es donde se mejora la imagen, que no es más


que el resumen de varias observaciones del mismo objeto. Para asumir
que ningún cambio o movimiento del objeto sucedió durante la recepción
de observaciones.
• La segunda categoría: Es donde se mejora la imagen a través de
modelos estadísticos, por ello existen varios métodos que se han
desarrollado con el fin de reducir el speckle en una variedad de imágenes
de área.

El enfoque estadístico, basado en transformar wavelets, resulta muy


efectivo en la aplicación de señales biomédicas. [14]

3.10 WAVELET EN MATLAB

En Matlab encontramos la llamada caja de herramientas wavelet, que


proporciona herramientas gráficas y de línea de comandos, que nos permiten:

• Examinar y estudiar las propiedades de cada uno de los paquetes


wavelet.
• Examinar estadísticas de señales y componentes de la señal.
• Realizar el análisis y la síntesis discreta de señales de dos dimensiones.
• Comprimir y eliminar el ruido de las señales e imágenes.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 45


Además de lo anterior, la caja de herramientas hace que sea fácil
personalizar la presentación y visualización de datos, permite elegir:

• ¿Qué imágenes vamos a mostrar?


• La región que nos interesa ampliar.
• Esquemas de color para la visualización de onda y sus coeficientes de
detalles. [15]

Ya culminamos con tres capítulos que nos han hablando de técnicas que nos
ayudaran al procesamiento digital de las imágenes, así que en el siguiente
capítulo hablaremos de las imágenes a analizar, que son los ultrasonidos.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 46


CAPÍTULO IV: IMÁGENES MEDICAS, ULTRASONIDO.

En este capítulo, se hará una breve introducción del ultrasonido como útil
herramienta para la obtención de imágenes, debido a su resolución temporal,
portabilidad y bajo costo. Ayuda en el diagnóstico de los órganos sin necesidad
de invasión, ni utilización de Rayos X. [14]

4.1 INTRODUCCIÓN

Las imágenes por ultrasonido, también denominadas exploración por


ultrasonido o ecografía, suponen exponer parte del cuerpo a ondas acústicas de
alta frecuencia para producir imágenes del interior del organismo. Los exámenes
por ultrasonido no utilizan radiación ionizante (rayos x). Debido a que las
imágenes por ultrasonido se capturan en tiempo real, pueden mostrar la estructura
y el movimiento de los órganos internos del cuerpo, como así también la sangre
que fluye por los vasos sanguíneos. El ultrasonido convencional presenta las
imágenes en secciones delgadas y planas del cuerpo.
Los avances en la tecnología con ultrasonido incluyen el ultrasonido
tridimensional (3-D) que transforma los datos de ondas acústicas en imágenes de
3-D. Las imágenes de un ultrasonido en cuatro dimensiones (4-D) consisten en
un ultrasonido en 3-D en movimiento. [15]
Existe una técnica especial llamada Ultrasonido Doppler consiste en una
técnica especial de ultrasonido que evalúa la sangre mientras circula por los vasos
sanguíneos, incluyendo las arterias y venas más importantes del organismo que
se encuentran en el abdomen, brazos, piernas y cuello.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 47


Existen tres tipos de ultrasonido Doppler:
Doppler a color; utiliza una computadora para convertir las mediciones
Doppler en un conjunto de colores para visualizar la velocidad y la dirección del
flujo sanguíneo a través de un vaso sanguíneo.

Fig. 5.1 Ultrasonido Doppler a color, muestra las venas

Doppler con energía: es una técnica más avanzada que es más sensible
que el Doppler a color y es capaz de brindar un mayor detalle del flujo sanguíneo,
especialmente en los vasos que se encuentran dentro de los órganos. No
obstante, el Doppler con energía no ayuda al radiólogo a determinar la dirección
del flujo, que puede ser importante en algunas situaciones.

Fig. 5.2 Ultrasonido Doppler con energía.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 48


Doppler espectral: exhibe las mediciones de flujo sanguíneo de manera
gráfica, en función de la distancia recorrida por unidad de tiempo.

Fig. 5.3 Ultrasonido Doppler espectral.

4.2 USOS COMUNES DEL ULTRASONIDO

Los exámenes por ultrasonido pueden ayudar a diagnosticar diversas


enfermedades y a evaluar el daño en los órganos luego de una enfermedad.
Ayuda a los médicos a examinar muchos de los órganos internos del cuerpo,
incluyendo en forma enunciativa y no limitativa:

• Corazón y vasos sanguíneos, incluyendo la aorta abdominal y sus


principales ramificaciones.
• Hígado.
• Vesicular biliar.
• Bazo.
• Páncreas.
• Riñones.
• Vejiga.
• Útero, ovarios y niño no nato (feto) en pacientes embarazadas.
• Ojos.
• Glándula tiroides y glándula paratiroides.
• Escroto (testículos).

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 49


El ultrasonido también se usa para:

• Guiar procedimientos como biopsias por aspiración, en las que se usan


agujas para extraer muestras de células de un área anormal para realizar
pruebas de laboratorio.
• Obtener una imagen de los senos y guiar la biopsia del cáncer de seno.
• Diagnosticar diversas enfermedades coronarias y evaluar el daño luego
de un ataque al corazón u otra enfermedad.

Las imágenes por ultrasonido Doppler pueden ayudar al médico a ver y


evaluar:

• Obstrucciones en el flujo sanguíneo (tales como coágulos)


• Estrechamiento de los vasos sanguíneos.
• Tumores o malformaciones congénitas

4.3 COMO FUNCIONA

Las imágenes por ultrasonido están basadas en el mismo principio que se


relaciona con el sonar utilizado por los murciélagos, barcos y pescadores. Cuando
una onda acústica choca contra un objeto, rebota hacia atrás, o hace eco. Al
medir estas ondas causadas por el eco es posible determinar la distancia a la que
se encuentra el objeto así como su forma, tamaño, consistencia y uniformidad.
En medicina, el ultrasonido se utiliza para detectar cambios en el aspecto y
función de los órganos, tejidos, o masas anormales como los tumores.
En un examen por ultrasonido, un transductor envía las ondas acústicas y
registra las ondas causadas por el eco. Al presionar el transductor contra la piel,
dirige un flujo de ondas acústicas de alta frecuencia inaudibles al cuerpo.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 50


A medida que las ondas acústicas rebotan en los órganos fluidos y tejidos
internos, el micrófono sensible del transductor registra los cambios mínimos que
se producen en el tono y dirección del sonido. Una computadora mide y muestra
estas ondas de trazo en forma instantánea, que a su vez crea una imagen en
tiempo real en el monitor. Estas imágenes en vivo en general se registran en una
cinta de video y se capturan como imagen estática una o más estructuras de las
imágenes en movimiento.
El ultrasonido Doppler, mide la dirección y velocidad de las células
sanguíneas a medida que se mueven por los vasos. El movimiento de las células
sanguíneas causa un cambio en el tono de las ondas acústicas reflejadas
(denominado efecto Doppler). Una computadora recopila y procesa los sonidos y
crea gráficos o imágenes que representan el flujo sanguíneo a través de los vasos
sanguíneos. [15]

4.3.1 Ecos de ultrasonido

Son sonidos con frecuencias cercanas a los 20KHz, no perceptibles por el


oído humano. Cuando se emite un ruido corto a través de medios con coeficiente
de reflexión bajo y reflejado por obstáculos a través de su propagación, la
detección de la reflexión de la onda ultrasónica puede ayudar a localizar el
obstáculo. Este principio es usado por los mamíferos marinos. Las frecuencias
usadas para imágenes varían significativamente dependiendo de su aplicación.

4.3.2 Ecuación de la onda

Como la onda ultrasónica se propaga a través del tejido, su energía y


momento son transferidos a éste; (no ocurre una transferencia neta de masa en
ningún punto particular del medio). Como la onda ultrasónica pasa a través del
tejido, la presión local en el medio se incrementa. Las oscilaciones de las
partículas resultan en variaciones de presión armónicas dentro del medio y en
ondas de presión que se propagan a través del medio como partículas vecinas
que se mueven una con respecto a la otra.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 51


Las partículas del medio se pueden mover en dirección paralela (onda
longitudinal) o perpendicular (onda transversal) a la dirección de propagación de la
onda.

Fig. 5.4 a) Movimiento de la partícula, b) Propagación de la onda.

Teniendo en cuenta que en ultrasonido las ondas son longitudinales, la


ecuación que relaciona la segunda diferencia del desplazamiento de una partícula
con respecto a la aceleración de un oscilador armónico simple es:

o ----------------------------- (1)

donde:

c es la rapidez del sonido dada por: c = ------ (2)

p es la densidad del medio.


k es la compresibilidad del medio y es igual a (2π)/λ conocida también como
constante de propagación.
j= donde λ denota la longitud de onda.

4.3.3 Dispersión en el tejido

Los tejidos están constituidos por células y grupos de células que sirven
como fronteras complejas para la propagación de la onda. Como las ondas se
propagan a través de estas complejas estructuras, las ondas reflejadas y
transmitidas se generan en cada una de estas interfaces dependiendo de la
densidad local, la compresibilidad y la absorción del tejido. El grupo de células es
llamado “dispersor” de la energía acústica.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 52


El campo de dispersión de retorno es usado para generar la imagen
ultrasónica. Algunos puntos son producidos por las interferencias constructivas y
destructivas de las señales dispersas a partir de estructuras menores a la longitud
de onda, por lo tanto, aparecen como ecos brillantes y oscuros respectivamente.
Además, estos puntos no necesariamente están relacionados con una estructura
particular del tejido. [14]

4.3.4 Efectos biofísicos de los ultrasonidos

4.3.4.1 Efecto mecánico.

Es el primer efecto que se produce en el tejido, ha sido llamado micro


masaje debido a que las vibraciones sónicas causan compresión y expansión en
el tejido a la misma frecuencia que el ultrasonido, conduciendo a variaciones de
presión, las mayores variaciones se producen en los límites entre dos medios
diferentes. Estas variaciones de presión en los tejidos provocan:

• cambios en el volumen de las células corporales ± 0,02%.


• cambios en la permeabilidad de las células y las membranas tisulares
todos los efectos de la terapia ultrasónica son causados por el micro
masaje.

4.3.4.2 Efecto térmico.

El micro masaje de los tejidos conduce a la generación de calor por fricción,


siendo esta la acción mas conocida de los ultrasonidos, la cantidad de calor
generado difiere en los diversos tejidos y depende además de varios factores
como son:

• Tipo de emisión (continuo o pulsátil).


• Intensidad.
• Duración del tratamiento.
• Coeficiente de absorción.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 53


El calor se genera especialmente en tejido óseo, cartílago, tendones,
músculos y piel.

4.3.4.3 Efectos biológicos.

Estos efectos se consideran una respuesta fisiológica a las acciones


mecánicas y térmicas.

Fig. 5.5. Los efectos biológicos son resultado del efecto mecánico y efecto térmico.

1. Favorece la estimulación de la circulación sanguínea por vasodilatación,


la cual está dada por la liberación de estimulantes tisulares, estimulación de las
fibras nerviosas aferentes y reducción del tono muscular.
2. Relajación muscular por eliminación de los estimulantes tisulares, de las
fibras nerviosas aferentes y depresión postexcitatoria de la actividad ortosimpatica.
3. Aumento de la permeabilidad de la membrana, forzando el fluido tisular a
través de esta, haciendo que el ph se haga menos acido (efecto antiacidotico), de
gran utilidad en el tratamiento del reumatismo de partes blandas donde hay
acidosis tisular.
4. Aumento de la regeneración tisular sobre todo con el efecto mecánico el
cual produce un flujo de partículas con movimiento libre.
5. Efecto sobre nervios periféricos, aumentando o disminuyendo la
velocidad de conducción de estos, esto se atribuye al efecto térmico, el cual puede
incluso llegar a producir bloqueo de la conducción por lo que el tejido nervioso
muestra sensibilidad especial al ultrasonido.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 54


6. Reducción del dolor debido a la mejoría de la circulación tisular,
normalización del tono muscular, reducción de la tensión tisular, estimulación de
las fibras nerviosas aferentes y reducción del ph.
7. Otros efectos dados por la influencia negativa del ultrasonido como son:
• Daño tisular (las diferencias de presión generadas por ultrasonido puede
causar cavitación de los tejidos por lo que su intensidad deberá ser bien ajustada
de forma que el paciente no sienta excitación dolorosa).
• Estasis de las células sanguíneas (este trastorno es reversible y se elimina
con un movimiento continuo de la cabeza de tratamiento).
• Efectos secundarios discretos dados por sobredosificación (reducción del
nivel de glucosa en sangre, fatiga, nerviosismo, anorexia, estreñimiento). [16]

4.4 RUIDO EN ULTRASONIDO

Las imágenes de ultrasonido presentan un especial tipo de ruido llamado


Speckle. El cual degrada significativamente la calidad de la imagen, aumentando
de esta forma la dificultad de discriminar detalles finos en las imágenes durante un
examen de diagnostico. También dificulta el procesado de las imágenes, tales
como la segmentación y la detección de bordes.

4.4.1 Naturaleza del ruido

Los diferentes fenómenos de degradación de una imagen de ultrasonidos


son:

4.4.1.1 Fenómeno de absorción

Cuando la onda atraviesa la interface entre dos medios diferentes, la mayor


parte es reflejada. La parte posterior a esta zona resulta entonces oscura,
debido a que la amplitud de las ondas de ultrasonido que atraviesan son débiles.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 55


4.4.1.2 Fenómeno de reflexión

Los rayos son reflejados varias veces antes de regresar al transductor.


Estos rayos no son tomados en cuenta en el modelo de la señal.

4.4.1.3 Fenómeno de difusión

Los objetos que tienen tamaño similar a la longitud de onda, de la onda de


ultrasonido, oscilan emitiendo en todas las direcciones la onda incidente. Esta
transmisión, es la responsable del ruido llamado speckle, indudablemente uno de
los más importantes factores de degradación de la señal.

4.5 SPECKLE

Speckle es el término utilizado para describir el patrón granular presente en


las imágenes de ultrasonido, considerado como un tipo de ruido multiplicativo a la
señal. Existen varias aproximaciones para describir el Speckle. Varios
investigadores de imágenes de ultrasonido, usan un análisis estocástico para
describir las características del Speckle.
Debido a que es formado por la suma de ecos de señales, generadas
aleatoriamente en los centros de difusión, cada uno previendo una cantidad
aleatoria de energía, se puede demostrar por estadística del brillo en una imagen
de ultrasonido depende mayormente del numero de " dispersores de resolución
por la célula", y de la distribución espacial de los puntos de difusión, en el cual
podemos identificar 3 modelos:

• El primero es para cuando hay una presencia grande de puntos de


difusión, modelado por la distribución de Rayleigh.
• El segundo es para cuando agregamos la componente en fase,
entonces el brillo puede ser estimado por la distribución de Rician.
• El tercero es cuando existe un bajo número de puntos efectivos de
difusión, en este caso es modelado por la distribución K. [17]

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 56


Al término del capítulo IV, podemos hablar que ya estamos en
posibilidades de aplicar las múltiples técnicas de procesamiento de imágenes a
las imágenes o mejor dicho a los ultrasonidos a los cuales vamos a procesar.
En el siguiente capítulo mostraremos los resultados obtenidos durante la
elaboración de este proyecto.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 57


CAPÍTULO V: PRUEBAS Y RESULTADOS

En el capítulo mostraremos los resultados obtenidos a través de la


manipulación de las imágenes, a través de las técnicas explicadas en capítulos
anteriores con el objetivo de ampliar o modificar todo el proceso de la imagen para
la observación de estructuras internas, inaccesibles a los métodos comunes de
imágenes, estas imágenes resultantes se han observado, evaluado, y clasificado.

5.1 INTRODUCCIÓN

El procesamiento de imagen puede considerarse como un tipo especial del


procesamiento digital en dos dimensiones, este procesamiento es normalmente
un conjunto de pasos involucrados en la percepción visual que es descompuesto
como una jerarquía que va desde:

*Visión de Bajo Nivel.


*Visión de Medio Nivel.
*Visión de Alto Nivel.

Fig. 5.1 Estructura de procesamiento.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 58


5.1.1 Visión de bajo nivel

La visión de bajo nivel comprende la captación, el preprocesamiento y


segmentación. Así que ejecuta algoritmos típicamente de filtrado, restauración de
la imagen, realce, extracción de contornos, este debe tener la capacidad para
trabajar con enormes volúmenes de datos.
Entonces por procesamiento de imágenes a bajo nivel entendemos un
conjunto de técnicas cuyo objetivo es la extracción de descripciones de la imagen,
que a menudo son también imágenes. Pueden ser vistas como procesos
automáticos, ya que no requieren ninguna capacidad inteligente por parte del
sistema, en el sentido de que no se necesita conocer nada de los objetos
presentes en la escena o la posición relativa del observador.

5.1.2 Visión de alto nivel

Las técnicas de alto nivel se encuentran más próximas al dominio de la


inteligencia artificial, los problemas están relacionados principalmente con el
reconocimiento de patrones y la interpretación, de escenas, sus principios son
menos precisos y más especulativos, la interpretación en consecuencia, es un
problema aun muy abierto y que requiere cierta labor de investigación.
La visión de alto nivel tiene una interpretación consistente de las
características obtenidas en visión de nivel bajo o intermedio. Así que utiliza el
conocimiento de los objetos del dominio de interés y en base al conocimiento y
las características se realiza el reconocimiento.

5.2 VISION DE BAJO NIVEL Y MEDIO NIVEL

Aunque es muy común encontrar en diversos libros y trabajos que se


maneja en visión por computadoras, las etapas de bajo nivel y medio nivel como
dos categorías independientes, se han complementado para dejarlas solo en una
categoría que es la de bajo nivel, por ello hablaremos como una sola categoría
que comprende la captación, el preprocesamiento y segmentación.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 59


5.2.1 Adquisición de imágenes

A grandes rasgos, para capturar una imagen se suele distinguir entre dos
posibles procesos: dispositivos pasivos (basados generalmente en el principio de
cámara oscura) y dispositivos activos (basados en el escaneo), para nuestro
proyecto, ya contamos con las imágenes digitalizadas en un disco, de donde las
obtendremos para hacer el procesamiento. La imagen con la que trabajaremos
será la siguiente.

Fig. 5.2 Imagen con la que trabajaremos.

5.2.2 Guardando la imagen

Para facilitar el manejo de esta imagen la guardaremos en la carpeta de


work de Matlab, esto facilitara el proceso en razón que ya no tendremos la
necesidad de escribir la dirección completa donde se ubica la imagen, ahora solo
pondremos el nombre de esta y será suficiente para trabajar con ella.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 60


Fig. 5.3 Guardando la imagen en work.

5.2.3 Preprocesamiento

La imagen se someterá a operaciones y transformaciones previas al


siguiente paso de segmentación y reconocimiento. Así que aplicaremos algunos
filtros de detección de bordes para buscar difuminar o suavizar los detalles y
bordes de la imagen, y aumentar la nitidez de la imagen, resaltando los bordes.
Los operadores trabajan mediante convolución, es decir, aplican una
máscara sucesivamente sobre cada pixel.
• Los operadores fundamentales.
• Roberts.
• Prewitt.
• Sobel.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 61


Son operadores dobles o de dos etapas. La detección de bordes se realiza
en dos pasos. En el primero se buscan bordes horizontales utilizando la máscara
que corresponde a la derivada parcial en x. En el segundo paso se buscan los
bordes verticales utilizando la máscara que corresponde a la derivada parcial en y.
Finalmente, se suman ambos para obtener el gradiente de la imagen en cada
pixel.
Tabla 5.1. Tipos de operador para bordes.
HORIZONTAL VERTICAL

Operador fundamental

Operador de Roberts

Operador de Prewitt

Operador de Sobel

Esta sección como ya se ha mencionado será muy especulativa, así que


por ello vamos a experimentar con cada uno de nuestros operadores en busca de
información más evidente de nuestros ultrasonidos, así que empezaremos con el
operador fundamental.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 62


5.2.3.1 Operador elemental Horizontal

Con estos operadores haremos la detección de bordes, para reducir


significativamente la cantidad de información innecesaria, preservando las
características fundamentales de la imagen. Buscamos que la imagen que de
cómo resultado sea lo más parecida a nuestra imagen original.

Fig. 5.4 Operador elemental horizontal

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 63


5.2.3.2 Operador elemental vertical

Buscaremos los bordes en la imagen, que son los pixeles donde la


intensidad de la imagen cambia de forma abrupta.

Fig. 5.5 Operador elemental vertical.

5.2.3.3 Operador de Roberts horizontal

Con este operador buscaremos realzar los bordes con el operador de Roberts, que
ya mencionamos en el capítulo II.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 64


Fig. 5.6 Operador de Roberts horizontal

5.2.3.4 Operador de Roberts vertical

Aplicaremos el siguiente operador en busca de bordes diagonales, que


ofrecen buena información en cuanto a localización de objetos.

Fig. 5.7 Operador de Roberts vertical

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 65


5.2.3.5 Operador de Prewitt horizontal

Este operador involucra a los vecinos de filas / columnas adyacentes, no


solo el pixel con el que se trabajara, con el fin de proporcionar mayor inmunidad al
ruido.

Fig 5.8 Operador de Prewitt horizontal.

5.2.3.6 Operador de Prewitt vertical

Si volvemos a aplicar el operador, veremos que otorga el mismo peso a los


pixeles en vertical y horizontal.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 66


Fig 5.9 Operador de Prewitt vertical.

5.2.3.7 Operador de Sobel horizontal

Este operador es más sensible a los bordes diagonales que el de Prewitt


aunque en la práctica hay poca diferencia entre ellos.

Fig 5.10 Operador de Sobel horizontal.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 67


5.2.3.8 Operador de Sobel vertical

Ahora se duplicara el coeficiente de los primeros pixeles, y se tomara en


cuenta sus centros distinguiendo la proporción real de 1 a 1,41 (raíz de 2).

Fig 5.11 Operador de Sobel vertical.

5.2.3.9 Filtro Gaussiano

Aplicaremos este filtro con el objetivo de reducir el probable ruido


gaussiano, producido por el ruido en la digitalización o ganancias del sensor.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 68


Fig 5.12 Filtro Gaussiano.

5.2.3.10 Filtro Laplaciano

Aplicaremos el filtro ya que este se aplica frecuentemente a una imagen


después del filtro Gaussiano, con el fin de reducir su sensibilidad al ruido.

Fig. 5.13 Imagen después del filtro Laplaciano.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 69


5.2.3.11 Filtro Log

Este filtro expone los cambios en una imagen, ya sea por brillo o por color,
puede ser detectados los ceros, es decir, convolucionamos la imagen con un filtro
gaussiano para obtener una imagen de salida a la cual habrá que buscarle sus
cruces por cero.
En la búsqueda de los bordes de nuestra imagen podemos aplicar infinidad
de filtros que ya hemos mencionado en el capitulo II, pero para fines prácticos solo
aplicaremos los anteriores citados.

Fig. 5.14 Imagen después del filtro Log.

5.2.3.12 Transformación al modelo RGB

En esta parte de la búsqueda de información obtenida a partir de la imagen,


ahora vamos a descomponerla de su modelo RGB, cada capa de este modelo
puede arrojar diferente resultado, por ello llevamos a cabo esta descomposición, la
información que elegiremos será la que presente mas bordes, o más pixeles que
nos hagan pensar que hay se encuentra un objeto que no hayamos tomado en
cuenta a primera instancia.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 70


Fig. 5.15 Descomposición de la imagen en RGB.

5.2.3.13 Transformación al modelo CMY

Descomponemos la imagen en sus componentes CMY, también con el


objetivo de buscar más información en la imagen, o más objetos dentro de la
imagen, que hay sido ignorados a primera vista.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 71


Fig. 5.16 Descomposición de la imagen en CMY.

5.2.4 Segmentación

La segmentación es un proceso que consiste en dividir una imagen digital


en regiones homogéneas con respecto a una o más características con el fin de
facilitar un posterior análisis o reconocimiento automático.
La segmentación puede verse como un proceso que, a partir de una
imagen, produce otra en la que cada píxel tiene asociada una etiqueta distintiva
del objeto (región) a la que pertenece, por ejemplo:

• Detección de ciertos tipos de células en imágenes médicas,


• Extracción de los vehículos de una imagen de una carretera,
• Separar ciertos objetos de un fondo uniforme en una imagen.

Para este paso seleccionamos la imagen obtenida del modelo RGB en su


versión de G (verde o green), porque creemos que es la imagen que arroja más
detalles, aunque podríamos elegir cualquier otra que previamente ya guardamos
en la carpeta de work.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 72


La selección del área es donde se tenía una cruz que es la región con algún
significado.

Fig. 5.15 Imagen segmentada.

5.3 VISIÓN DE ALTO NIVEL

Las técnicas de alto nivel se encuentran más próximas al dominio de la


inteligencia artificial, los problemas están relacionados principalmente con el
reconocimiento de patrones y la interpretación, de escenas.
Los principios de la visión de alto nivel son menos precisos y más
especulativos, fundamentalmente en lo que se refiere a la interpretación. En
consecuencia, es un problema aun muy abierto y que requiere cierta labor de
investigación.

5.3.1 Representación

Obtiene una interpretación consistente de las características obtenidas en


visión de nivel bajo o intermedio.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 73


• Se basa en utilizar conocimiento de los objetos del dominio de interés.
• En base al conocimiento y las características se realiza el
reconocimiento.

A nuestra imagen segmentada le aplicaremos nuevamente filtros en busca


de objetos, que consideremos importantes o extraños en las imágenes.

5.3.1.1 Aplicación de filtros

Los filtros son el conjunto de técnicas aplicadas a las imágenes digitales


con el objetivo de mejorar la calidad o facilitar la búsqueda de información.

Fig. 5.17 Filtros de bordes para la imagen segmentada.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 74


En la visión de alto nivel se recomienda que apliquemos el filtro Sobel, ya
que este es el más sensible a los bordes por ello aplicaremos este filtro a nuestra
imagen.

Fig. 5.18 Imagen aplicada a diferentes filtros de Sobel.


Como podemos observar, la cruz que nos muestra el área de interés es lo que
más resalta, por ello le aplicaremos el filtro medfilt tratando de eliminarlo.

Fig. 5.19 Aplicando medfilt a la imagen.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 75


Como podemos observar eliminamos la marca del área de interés, esto
facilitara de ahora en adelante el proceso de la imagen.

5.3.2 Wavelets

Como vimos en el capítulo III son eficaces para el análisis de imágenes, ya


que realzamos los detalles de la imagen, así como la detección de irregularidades
compresión, eliminación del ruido, segmentación de la imagen,...). La familia de
wavelets son Haar, Daubechies, Coiflets y no existe una que sea específica para
el tratamiento de imágenes, lo mejor será probar hasta encontrar la adecuada para
nuestro caso de estudio.

5.3.2.1 Dauchebies

A continuación probaremos con la wavelet de Dauchebies, en la imagen


original, esto con el objetivo de revisar que resultados arroja

Fig. 5.20 Muestra la imagen con diferentes valores de Dauchebie. 1- 3.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 76


Fig. 5.21 Imagen con diferentes valores de Dauchebie 4 -6

Como podemos observar tenemos que en la imagen superior cada iteración


aparecen más detalles, y decidimos utilizar la misma imagen pero en formato de
cyan, recordando que cyan es un elemento de la descomposición de imagen en
CYM (Cyan, Yellow, Magneta) para ver si el brillo de la imagen influye en el
resultado.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 77


Fig. 5.22 Wavelet Dauchebie en el formato Cyan.

Como podemos observar esta wavelet arroja mejores resultados cuando


trabaja con imágenes con mayor tono de negro. Así que para el siguiente paso
utilizaremos la imagen en umbral, que revisamos en el capitulo I.

Fig. 5.23 Muestra Daubechie en formato de umbral.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 78


Con esto concluimos que la wavelet de Dauchebie funciona mejor con una
imagen con tonos oscuros, pero seguiremos buscando con la wavelet Haar.

5.3.2.2 Haar

La wavelet Haar arroja el siguiente resultado:

Fig. 5.24 Muestra la wavelet Haar.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 79


Aplicando el mismo método utilizaremos la imagen en umbral.

Fig. 5.25 Muestra la wavelet Haar en formato de umbral

5.3.2.3 Coiflets

La wavelet Coiflets arroja el siguiente resultado:

Fig. 5.26 Muestra la wavelet Coiflets.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 80


Aplicando el mismo método utilizaremos la imagen en umbral.

Fig. 5.26 Muestra la wavelet Coiflets en formato de umbral.

5.3.2.4 APROXIMACION LINEAL Y NO-LINEAL

Ahora retomaremos la imagen segmentada de la figura 5.19, y le


aplicaremos una wavelet de aproximación lineal además de una regresión no
lineal de 3000, que representa el numero de iteraciones que el algoritmo llevara
acabo a fin de lograr un zoom de nuestra imagen

Fig. 5.27 Muestra la wavelet Coiflets en umbral.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 81


En este capítulo seguimos los pasos que se recomiendan en la visión por
computadora a través de la visión de bajo nivel, medio y alto nivel. Aplicando
estos pasos la manera de trabajar con imágenes es más ordenada y por lo tanto el
procesamiento se vuelve más eficiente.
Comenzamos con el preprocesamiento que sugiere un aumento en la
nitidez a fin de poder hacer más evidentes algunas zonas en la imagen, algunos
operadores que ayudan a este son:

• Operadores elemental vertical y horizontal


• Operador Sobel vertical y horizontal

Aunque la descomposición de los modelos en su capas, como el modelo


RGB y CMY también nos ayudaran a este aumento de la nitidez, en este proyecto
elegimos el resultado de la capa G (verde) del modelo RGB, ya que nos mostraba
mas detalles de la imagen original, ya una vez elegida nuestra nueva imagen que
procesaremos comenzamos con la segmentación que no es más que la elección
de la zona que nosotros consideramos la zona de interés para el diagnostico.
Una vez segmentada la imagen continuaremos con la aplicación de mas
filtros a fin de eliminar algunos ruidos y hacer mas evidentes algunos bordes de
objetos que no son detectados a primera vista, pero al continuar con una imagen
que es afectada por el ruido Speckle, procedemos al uso de las wavelets:
daubechies, Haar y Coiflet, descubriendo que estas dan mejores resultado de las
imágenes cuando estas son de tonos oscuro, por ultimo aplicamos la regresión
lineal y no lineal que nos dio un acercamiento a la zona de interés

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 82


CONCLUSIONES

El uso del PDI nos permite extraer características que permiten una mejor
visualización de las imágenes, en el caso de las imágenes de ultrasonido el
suavizado de la imagen y la manipulación del brillo, nitidez, contrastes, permitieron
delinear los bordes y reconocer objetos extraños.
A pesar del ruido presente en la imagen (speckle) mediante la aplicación
de filtros y remoción de algunos ruidos, se pudo visualizar mejor la imagen,
recordando que este ruido degrada significativamente la imagen, pero después del
tratamiento se pudo encontrar los objetos presentes que en este caso se han
reconocido como miomas por un especialista medico.
Se puede recomendar el uso de estas técnicas para el uso conjunto de
estas técnicas de ultrasonido ya que es una herramienta de diagnostico en tiempo
real, por lo que exige un procesamiento rápido y que sea aplicable en el mismo
instante sin pérdida de recursos ni tiempos cruciales para el diagnostico.

RECOMENDACIONES PARA TRABAJOS FUTUROS

Como parte complementaria de este trabajo se puede mencionar el manejo


de las texturas en los objetos encontrados, para diferenciar problemas en cada
uno de ellos, esto puede ser de gran utilidad para el personal médico en cuestión,
trabajar en conjunto con personal médico para la interpretación y uso de los
programas y supervisar la parte del pre-diagnostico.
Generar la base de conocimientos para tener los resultados previos de las
imágenes que pudieran analizarse posteriormente con más detalle.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 83


BIBLIOGRAFIA.

[1] Filtrado de imágenes


http://dmi.uib.es/~ygonzalez/VI/Material_del_Curso/Teoria/Tema5_Filtrado
.pdf

[2] Ruido en imágenes


Rafael Molina
Depto. de ciencias de la computación e inteligencia artificial.
Universidad de Granada
http://serdis.dis.ulpgc.es/~a013775/asignaturas/itis-fia/t1bn.pdf

[3] Reducción del ruido en una imagen digital.


Departamento de ingeniería electrónica, telecomunicación y automática.
Área de ingeniería de sistemas y automática
Universidad de Jaen
http://www4.ujaen.es/~satorres/practicas/practica2.pdf

[4] Image Processing Toolbox – Documentation


http://www.mathworks.com/access/helpdesk/help/toolbox/images/index.ht
ml?/access/helpdesk/help/toolbox/images/fspecial.html&http://www.google
.com.mx/search?hl=es&rlz=1r2gpea_es&q=fspecial&meta

[5] Procesamiento digital de imágenes con matlab: fase I


M. en C. Gabriela Sánchez Meléndez, Rodrigo Hernández Navarrete, M. en
C. David Vázquez Álvarez
Departamento académico de ingeniería en comunicaciones y electrónica
Esime-ipn, d.f.,
México 2009

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 84


[6] Introducción a Matlab.
Ejercicios básicos de manipulación de imágenes.
Departamento de ingeniería electrónica, telecomunicación y automática.
Área de ingeniería de sistemas y automática
Área de ingeniería de sistemas y automática. Curso 2005/2006
Universidad de Jaen
http://www4.ujaen.es/~satorres/practicas/practica1.pdf

[7] Tutorial de Matlab


http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf

[8] Visión por computador utilizando matlab y el toolbox de procesamiento


digital de imágenes
Erik Valdemar Cuevas Jiménez, Daniel Zaldívar Navarro
http://proton.ucting.udg.mx/tutorial/vision/cursovision.pdf

[9] Manejo básico de imágenes con matlab


Grupo de visión artificial
David garcía pérez
http://ocw.usc.es/export/sites/default/gl/servizos/ceta/opencourseware/lic_fis
ica/tci/material/practicas/apuntes-practica1.pdf

[10] Detección de bordes en una imagen.


Departamento de ingeniería electrónica, telecomunicación y automática.
Área de ingeniería de sistemas y automática
Universidad de Jaen
http://www4.ujaen.es/~satorres/practicas/practica3_vc.pdf

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 85


[11] Tratamiento de señales digitales mediante wavelets y su uso en matlab
Félix Martínez Giménez
Alfredo Peris Maguillot
Francisco Rodenas Escriba
Valencia 2004
http://www.editorial-club-universitario.es/pdf/1036.pdf

[12] Compresión de imágenes en escala de grises mediante el uso de


wavelets
Tomás Olarte Hernández
juan pablo tamayo
Dr. Francisco Correa
Ingeniería Matemática
Universidad Eafit
www.compelect.com.co/otros/diamatlab/2006/wavelets.pps -

[13] Introducción a la transformada wavelet


Descomposición de señales
Transformada wavelet curso 2006
asesores: Dr. Jairo Villegas
Dr. Francisco Correa
http://www.exa.unicen.edu.ar/escuelapav/cursos/wavelets/apunte.pdf

[14] Speckle reduction of ultrasound images using


wavelets analysis
Ali Samir Saad
College of applied medical sciences
King Saud University.
http://faculty.ksu.edu.sa/alisaad/documents/imibe535-final.pdf

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 86


[15] Wavelet toolbox™ 4 user’s guide.
Michel Misiti
Yves Misiti
Georges Oppenheim
Jean-Michel Poggi
http://www.ma.utexas.edu/users/davis/reu/ch3/cwt/manual.pdf

[16] Ultrasonido
Lisa María Jaramillo, Sirley Marín y Catalina Pineda
Programa de ingeniería biomédica
Escuela de ingeniería de antioquia
Instituto de ciencias de la salud
http://bioinstrumentacion.eia.edu.co/docs/signals/ultrasonido.pdf

[17] Radiologyinfo
La fuente de información sobre radiología para pacientes
http://www.radiologyinfo.org/sp/
2007-04-11

[18] Ultrasonido
Dr. Leonardo Mora Rivera
Dr. Santiago Almenares Montano
www.sld.cu/galerias/pdf/sitios/rehabilitacion/ultrasonido.pdf

[19] Imágenes de ultrasonido


Martin Bianculli
Andrés Duffour
Facultad de ingeniería
Universidad ed la república
18 de julio de 2005
http://iie.fing.edu.uy/investigacion/grupos/gti/timag/trabajos/2005/ultrasonido
/imagenes%20de%20ultrasonido.pdf

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 87


[20] Erik Valdemar Cuevas Jiménez, Daniel Zaldívar Navarro,
“Visión por Computador utilizando MatLAB Y el Toolbox de Procesamiento
Digital de Imágenes”

[21] Image Acquisition Toolbox


http://www.mathworks.com/access/helpdesk/help/toolbox/imaq/index.html?/
access/helpdesk/help/toolbox/imaq/

[22] Image Processing Toolbox


http://www.mathworks.com/access/helpdesk/help/toolbox/images/index.html
?/access/helpdesk/help/toolbox/images/

[23] Carlos Rodríguez Cruz, Raziel Rivero Flores,


“Procesamiento de Imágenes”, 1er. Congreso Internacional de Sistemas
Computacionales y Electrónicos (CISCE 06).

[24] Andy Milkowski, MS, Yandong Li, PhD, David Becker, MS, Syed O. Ishrak,
PhD,
“Speckle Reduction Imaging”, GE Medical Systems Ultrasound, GE

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 88


APENDICE A: Artículo presentado en congreso

Procesamiento Digital de Imágenes Con Matlab: Fase I


M. en C. Gabriela Sánchez Meléndez, Rodrigo Hernández Navarrete, M. en C.
David Vázquez Álvarez
Departamento Académico de Ingeniería en Comunicaciones y Electrónica
ESIME-IPN, D.F., México
Telefono: (55) 57296000 Ext. 54553 E-mail: gasanchezm@ipn.mx

Resumen.- En este artículo se dan a conocer los resultados obtenidos a partir del
uso del software Matlab a imágenes médicas, las principales herramientas
utilizadas son: Image Processing Toolbox y Wavelet Toolbox. Las cuales
contienen aplicaciones gráficas que amplían el ambiente de análisis, síntesis y
comprensión de imágenes así como la visualización de las mismas.

Palabras clave.- imágenes médicas, procesamiento digital, matlab

I.- Introducción.
Las imágenes digitales son: fotografías, documentos, manuscritos, textos e
ilustraciones escaneadas u obtenidas en forma digital, donde se ha confeccionado
un mapa de ella, en forma de cuadrícula de puntos de la figura llamados píxeles. A
cada píxel se le asigna un valor de tono (negro, blanco, matices de grises o de
color), el cual para imágenes blanco y negro están representados en código
binario (ceros y unos). Cada píxel es almacenado en una computadora en
secuencia, donde se les reduce a una representación matemática, la computadora
interpreta y lee los bits para producir una versión para su correcta visualización e
impresión. En la figura 1 se muestra un ejemplo de una imagen digital.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 89


Fig. 1. Ejemplo de imagen digital (blanco y negro).

Podemos entonces definir imagen, como una función bidimensional de


intensidad de luz, dada por f(x, y), donde “x” y “y” denotan las coordenadas
espaciales y el valor de f en cualquier punto. Este tipo de imágenes son conocidas
como imágenes a escala de grises ya que las imágenes RGB (más comunes),
están representadas por un arreglo de datos de mXnX3, donde 3 define el
componente: rojo, verde o azul de cada píxel, la combinación de los componentes
definen el color representado en el píxel correspondiente. Los ficheros gráficos
guardan imágenes RGB de 24 bpp, donde cada componente de color es de 8 bits.
Esto da una gama de hasta 16 millones de colores. La precisión con la que una
imagen de la vida real puede ser replicada ha dado el nombre al término
comúnmente utilizado como color verdadero.

II. Estado del Arte.

En los últimos años se ha dado un acelerado avance en la tecnología, que


trae nuevos conocimientos para todas las áreas, tal es el caso de la Ingeniería
Biomédica, en donde, los principios de la tecnología son aplicados en la medicina,
ya que toman las necesidades médicas como punto de partida para obtener
beneficios en el diagnostico y cuidado de la salud. El área donde trabajaremos
será en el “Procesamiento de imágenes médicas” [20].
En la referencia 4 se puede observar una aplicación de procesamiento de
imágenes en el cual se muestra que el procesamiento se puede generar por medio
de la implementación en circuitos integrables como el FPGA.
Por otro lado en la referencia 5 se habla de la reducción de ruido de éstas
imágenes por medio de la aplicación en un equipo especializado de la marca
“GE”. Una de las características de estos estudios es que se tiene una
implementación en hardware, sin embargo se puede generar una aplicación en

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 90


software que ayude en la determinación de ciertas características.
El mejoramiento de una imagen digital, trae beneficios para interpretarla ya
que extrae características de ésta, de modo que se puede tomar una decisión
adecuada, a partir de esos contenidos. La decisión puede ser el resultado de la
detección de objetos, la inspección visual automática, clasificación de objetos,
restauración de imágenes y mejoramiento de la calidad de las mismas. Para
empezar, debemos adquirir la imagen, que en el caso médico puede ser obtenida
por: radiografía, ultrasonidos electrocardiograma, etc., ésta será sometida al
procedimiento en una computadora. La figura 2 muestra algunas técnicas de
adquisición de imágenes.
Para obtener un resultado exitoso en el procesamiento, debemos tomar en
cuenta algunos pasos básicos, se explican a continuación.

1. Adquisición de la imagen. No es más que digitalizar la imagen.


2. Preprocesamiento. El objetivo es mejorar la imagen de manera que se
incremente la oportunidad de obtener el resultado deseado, aquí podemos
utilizar las técnicas de incremento de contraste o remoción del ruido.

Fig. 2. Formas de adquirir una imagen.

3. Segmentación. Es la partición de la imagen de entrada en pequeñas


secciones u objetos, lo que identifica la parte en la que estamos
interesados.
4. Representación y descripción. Es la parte donde hacemos la extracción
de los rangos, aquí hacemos diferencias entre una clase de objetos y otra.
5. Base de conocimientos. Es donde tenemos todo el conocimiento acerca del
problema tratado, esto nos limita hacia la búsqueda de información.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 91


6. Reconocimiento e interpretación. Frecuentemente es donde etiquetamos, o
asignamos un nombre a nuestra interpretación, gracias a la información que
se provee después de nuestro análisis.
7. Resultado. Simplemente mostramos el conjunto de conclusiones obtenidas
a través del procesamiento.

Fig. 3. Procedimiento de procesamiento de una imagen.

III.- Implementación de los pasos.

Adquisición de la imagen. Matlab nos permite leer imágenes en formato


JPG, TIF, GIF, guardando la imagen en una matriz A de tamaño mXn
cuando es en escala de gris y en mXnX3 cuando es RGB. “A” es la matriz
donde se guardaran los datos de los pixeles [21,22].

Fig. 4. Imagen RGB, obtenida mediante ultrasonido y leida con matlab.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 92


Preprocesamiento. Primeramente cambiamos la imagen a escala de grises,
posteriormente haremos un ajuste en el contraste para hacer más
evidentes algunos detalles.

Fig. 5. A) Imagen original; b) Imagen con ajuste en el contraste.

Segmentación. Después del ajuste haremos un corte de la imagen, seleccionando


la zona de interés con el mouse para posteriormente guardarla como una imagen
nueva. La imagen se puede guardar en diferentes formatos como son: JPG,
TIF,GIF, etc.

Fig. 6. A) Imagen original; b) Imagen seleccionada.


Representación y descripción. Para obtener información útil, exploramos
distintos comandos que nos permitan extraer información de la imagen,
utilizaremos la detección de bordes la cual puede ser de varios tipos como
son:

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 93


• BW 1= edge(I,'sobel')
• BW2 = edge(I,'canny')
• BW3 = edge(I,'pewitt')
• BW4= edge(I,'log')

En la figura 7 se muestran los resultados obtenidos por medio de esta


función. Sin embargo se puede notar que la funcionalidad de este, no ofrece
resultados contundentes para esta aplicación pues el ruido también esta presente
en los bordes.

Fig. 7. Imágenes mostrando los bordes Sobel, Canny, Pewitt y Log respectivamente.

Podemos obtener información del umbral de la imagen, el cual se puede


modificar, o bien dejar el valor vacío de modo que se tomará por default, con el
cual podemos observar cual parte de la imagen corresponde al ruido.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 94


Fig. 8. a) Imagen origianl; b) Iamgen que muestra el umbral.

En esta etapa del proyecto se hará el reconocimiento de algunas funciones


apropiadas para el procesamiento de imágenes, en la cual también se creará una
selección y clasificación de funciones para su posterior implementación sobra
diferentes casos de estudio.

Conclusiones.

En este trabajo se pretende mostrar que el procesamiento de imágenes en


esta caso médicas es muy útil para definir ciertos detalles de la imagen obtenida,
ya quepuede ayudar a hacer más evidentes algunas características de la imagen,
y de esta forma mostrar atributos que pueden ser imperceptibles para el ojo
humano, algunos de los aparatos médicos que existen en la actualidad contienen
en su interior hardware que realizan algunas funciones, pero pocos son los que en
su software implementan alguna utilidad de esta aplicación.
Este trabajo se encuentra en etapa inicial, en la cual se pretende conocer las
utilidades del procesamiento digital posteriormente se procederá a representar los
resultados sobre un conjunto de imágenes de este tipo.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 95


APENDICE B: Resultado de la aplicación de detección de bordes

De la figura 2.4, mostramos el efecto de los distintos métodos: Canny,


Laplacianos de Gauss, empezando con Sobel, Roberts, Prewitt

Fig. B.1 a) Imagen original, b) Imagen con el método Canny.

Método Laplaciano de Gauss, en la siguiente figura 1.2

Fig. B.2 . a) Imagen original, b) Imagen con el método Laplaciano de Gauss.


.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 96


Método Roberts, en la siguiente figura 1.3

Fig. B.3. a) Imagen original, b) Imagen con el método Roberts.

Método Prewitt, en la siguiente figura 1.4

Fig. B.4. a) Imagen original, b) Imagen con el método Prewitt.

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 97


De la figura 2.5 tenemos:

I = imread('C:\Users\sir_roy\Documentos\Escuela\Proyecto
PDI\selecciones\tercera.jpg');
result=I>=50;
subplot(2,2,1),subimage(I),Title('Imagen Original');
subplot(2,2,2),subimage(result),Title('Umbral de 50');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 98


APENDICE C: Códigos generado para el tratamiento de las
imágenes.

• Lectura y escritura de imágenes, a través de archivos.


clc;
clear all;
close all;
I = imread('C:\Users\sir_roy\Documentos\Escuela\Proyecto PDI\EXPORT\MARG
27 SEP 07_1.JPG');
imshow(I);
• Guardando la imagen.
clc;
clear all;
close all;
I = imread('MARG 27 SEP 07_1.JPG','jpg');
imshow(I),title('Imagen original');
imwrite(I,'C:\MATLAB7\work\prueba11.jpg');

• Operador elemental horizontal


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[-1,1];
bordes1=conv2(mascara,c);
figure

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 99


imshow (uint8(bordes1)),title('Borde elemental horizontal');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorelemental1.pg');

• Operador elemental vertical


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[1;-1];
bordes1=conv2(mascara,c);
figure
imshow (uint8(bordes1)),title('Borde elemental,vertical');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorelemental2.jpg');

• Operador de Roberts horizontal


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[-1 1; -1 1];
bordes1=conv2(mascara,c);
figure

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 100


imshow (uint8(bordes1)),title('Borde Roberts, horizontal');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorroberts1.jpg');

• Operador de Roberts vertical


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[1 -1; -1 -1];
bordes1=conv2(mascara,c);
figure
imshow (uint8(bordes1)),title('Borde Roberts, vertical');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorroberts2.jpg');

• Operador de Prewitt horizontal


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[-1 0 1; -1 0 1; -1 0 1];
bordes1=conv2(mascara,c);
figure

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 101


imshow (uint8(bordes1)),title('Borde de Prewitt, horizontal');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorprewitt1.jpg');

• Operador de Prewitt vertical


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[1 1 1; 0 0 0; -1 -1 -1];
bordes1=conv2(mascara,c);
figure
imshow (uint8(bordes1)),title('Borde de Prewitt, vertical');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorprewitt2.jpg');

• Operador de Sobel horizontal


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[-1 0 1; -2 0 2; -1 0 1];
bordes1=conv2(mascara,c);
figure

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 102


imshow (uint8(bordes1)),title('Borde de Sobel, horizontal');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorsobel1.jpg');

• Operador de Sobel vertical


clear all
close all
clc%limpia la ventana de los comandos
c=imread('MARG 27 SEP 07_1.JPG','jpg');%lee la imagen
image(c);
[m,n,d]=size(c) % muestra el tamano de la matriz
c=rgb2gray(c);
c=double(c);
bordes=zeros(m,n);%deteccion de bordes mediante la ecuación
%deteccion de bordes mediante mascara
mascara=[1 2 1; 0 0 0; -1 -1 -1];
bordes1=conv2(mascara,c);
figure
imshow (uint8(bordes1)),title('Borde de Sobel, vertical');
imwrite(mascara,'C:\MATLAB7\work\pruebaconoperadorsobel2.jpg');

• Filtro Gaussiano
clear all;
clc;
close all;
I = imread('prueba11.JPG ');
h = fspecial('gaussian');
I2 = imfilter(I,h);
imshow(I), title('Imagen Original');
figure, imshow(I2), title('Imagen con filtro gaussian');
imwrite(I2,'C:\MATLAB7\work\nfiltrogaussiano.jpg');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 103


• Filtro Laplaciano
clear all;
clc;
close all;
I = imread('nfiltrogaussiano.jpg');
h = fspecial('laplacian');
I2 = imfilter(I,h);
imshow(I), title('Imagen Original');
figure, imshow(I2), title('Imagen con filtro laplaciano');
imwrite(I2,'C:\MATLAB7\work\nfiltrolaplaciano.jpg');

• Filtro Logaritmo
clear all;
clc;
close all;
I = imread('MARG 27 SEP 07_1.JPG');
h = fspecial('log');
I2 = imfilter(I,h);
imshow(I), title('Imagen Original');
figure, imshow(I2), title('Imagen con filtro log');
imwrite(I2,'C:\MATLAB7\work\nfiltrologaritmo.jpg');

• Transformacion al modelo RGB


clear all;
clc;
close all;
a=imread('prueba11.JPG');
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
figure
imshow(a),title('Original');
figure
imshow(R), title('Rojo');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 104


figure
imshow(G),title('Verde');
figure
imshow(B),title('Azul');
imwrite(R,'C:\MATLAB7\work\nrojo.jpg');
imwrite(G,'C:\MATLAB7\work\nverde.jpg');
imwrite(B,'C:\MATLAB7\work\nazul.jpg');

• Transformacion al modelo CMY


clear all
clc
close all
a=imread('prueba11','jpg');
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
C=255-R;
M=255-G;
Y=255-B;
figure
imshow(C);title('Cian');
figure
imshow(M);title('Magenta');
figure
imshow(Y);title('Yellow');
figure
imshow(a);title('imagen Original');
imwrite(C,'C:\MATLAB7\work\ncian.jpg');
imwrite(M,'C:\MATLAB7\work\nmagneta.jpg');
imwrite(Y,'C:\MATLAB7\work\nyellow.jpg');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 105


• Seleccionando area de trabajo
clear all;
clc;
close all;
I = imread('nverde.jpg ');
figure, imshow(I), title('Imagen en formato verde');
K=imcrop;
figure(2);
imshow(K);
L=K;
imwrite(L,'C:\MATLAB7\work\nverdeseleccion.jpg');
I = imread('nverdeseleccion.jpg');
figure, imshow(I), title('Imagen seleccionada')

• Aplicacion de filtros para bordes al area seleccionada


clear all;
clc;
close all;
A = imread('nverdeseleccion.jpg');
BW1 = edge(A,'prewitt');
BW2 = edge(A,'canny');
BW3= edge(A,'roberts');
BW4 = edge(A,'log');
BW5 = edge(A,'zerocross');
BW6 = edge(A,'sobel');
figure
subplot(2,2,1);
imshow(A),title('Imagen segmentada');
subplot(2,2,2);
imshow(BW1),title('Imagen con borde de Prewitt');
c=fft2(BW1);
c=fftshift(c);
figure
mesh(abs(log(c+1)));

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 106


subplot(2,2,3);
imshow(BW2),title(' Imagen con borde de Canny ');
d=fft2(BW2);
d=fftshift(d);
figure
mesh(abs(log(d+1)));
subplot(2,2,4);
imshow(BW3),title(' Imagen con borde de Roberts');
e=fft2(BW3);
e=fftshift(e);
figure
mesh(abs(log(e+1)));
figure
subplot(2,2,1);
imshow(A),title('Imagen segmentada');
subplot(2,2,2);
imshow(BW4) ,title(' Imagen con borde de Log');
f=fft2(BW4);
f=fftshift(f);
figure
mesh(abs(log(f+1)));
subplot(2,2,3);
imshow(BW5) ,title(' Imagen con borde de Zerocross');
imshow(BW5) ,title(' Imagen con borde de Zerocross');
g=fft2(BW5);
g=fftshift(g);
figure
mesh(abs(log(g+1)));
subplot(2,2,4);
imshow(BW6), ,title(' Imagen con borde de Sobel');
h=fft2(BW6);
h=fftshift(h);
figure
mesh(abs(log(h+1)));

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 107


• Filtro medfilt
clear all;
clc;
close all;
I = imread('nverdeseleccion.jpg');
K = medfilt2(I);
figure
imshow(I),title('Imagen Original');
figure
imshow(K),title('Despues del filtro');
imwrite(K,'C:\MATLAB7\work\ espuesmedfilt .jpg');

• Dauchebies en imagen original


clear all;
clc;
X= imread('MARG 27 SEP 07_1.jpg','jpg');
A =wavelet('D1',1,X);
B =wavelet('D2',1,X);
C =wavelet('D3',1,X);
D=wavelet('D4',1,X);
E=wavelet('D5',1,X);
F =wavelet('D6',1,X);
figure;
imshow(A),title('Dauchebie1') ;
imwrite(A,'C:\MATLAB7\work\ dauchebi1.jpg');
figure;
imshow(B),title('Dauchebie2') ;
imwrite(B,'C:\MATLAB7\work\ dauchebi2.jpg');
figure;
imshow(C),title('Dauchebie3') ;
imwrite(C,'C:\MATLAB7\work\ dauchebi3.jpg');
figure;
imshow(D),title('Dauchebie4') ;
imwrite(D,'C:\MATLAB7\work\ dauchebi4.jpg');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 108


figure;
imshow(E),title('Dauchebie5') ;
imwrite(E,'C:\MATLAB7\work\ dauchebi5.jpg');
figure;
imshow(F),title('Dauchebie6') ;
imwrite(F,'C:\MATLAB7\work\ dauchebi6.jpg');

• Dauchebies en el formato Cyan


clear all;
clc;
X= imread('ncian.jpg','jpg');
A =wavelet('D1',1,X);
B =wavelet('D2',1,X);
C =wavelet('D3',1,X);
D=wavelet('D4',1,X);
E=wavelet('D5',1,X);
F =wavelet('D6',1,X);
figure;
imshow(A),title('Dauchebie1') ;
imwrite(A,'C:\MATLAB7\work\ dauchebi1ncian.jpg');
figure;
imshow(B),title('Dauchebie2') ;
imwrite(B,'C:\MATLAB7\work\ dauchebi2ncian.jpg');
figure;
imshow(C),title('Dauchebie3') ;
imwrite(C,'C:\MATLAB7\work\ dauchebi3ncian.jpg');
figure;
imshow(D),title('Dauchebie4') ;
imwrite(D,'C:\MATLAB7\work\ dauchebi4ncian.jpg');
figure;
imshow(E),title('Dauchebie5') ;
imwrite(E,'C:\MATLAB7\work\ dauchebi5ncian.jpg');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 109


figure;
imshow(F),title('Dauchebie6') ;
imwrite(F,'C:\MATLAB7\work\ dauchebi6ncian.jpg');

• Formatos Umbral, umbral binario,imbral binario inverso,umbral escala de


grises, umbral de escala de grises inverso, exten
clc
clear all
close all
I = imread('MARG 27 SEP 07_1.jpg','jpg');
figure
imshow(I),title('Imagen Original');
I = rgb2gray(I);
[M,N] = size(I);
p1 = 50;
p2 = 100;
InvoNeg = zeros(M,N);
Umbral = zeros(M,N);
IntUmbBin = zeros(M,N);
IntUmbBinInv = zeros(M,N);
UmbEscGris = zeros(M,N);
UmbEscGrisInv = zeros(M,N);
Exten = zeros(M,N);
InvoNeg = double(InvoNeg);
Umbral = double(Umbral);
IntUmbBin = double(IntUmbBin);
IntUmbBinInv = double(IntUmbBinInv);
UmbEscGris = double(UmbEscGris);
UmbEscGrisInv = double(UmbEscGrisInv);
Exten = double(Exten);
%>>>>[Inverso o Negativo]<<<<<<<<<<<<<<<<<<<<<<<<<<
InvoNeg = 255 - I;

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 110


%>>>>[Umbral]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1
Umbral(y,x) = 0;
end
if I(y,x) > p1
Umbral(y,x) = 255;
end
end
end
%>>>>[Intervalo de Umbral Binario]<<<<<<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1 || I(y,x) >= p2
IntUmbBin(y,x) = 255;
end
if I(y,x) > p1 && I(y,x) < p2
IntUmbBin(y,x) = 0;
end
end
end
%>>>>[Intervalo de Umbral Binario Invertido]<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1 || I(y,x) >= p2
IntUmbBinInv(y,x) = 0;
end
if I(y,x) > p1 && I(y,x) < p2
IntUmbBinInv(y,x) = 255;
end
end
end

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 111


%>>>>[Umbral de la Escala de Grises]<<<<<<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1 || I(y,x) >= p2
UmbEscGris(y,x) = 255;
end
if I(y,x) > p1 && I(y,x) < p2
UmbEscGris(y,x) = I(y,x);
end
end
end
%>>>>[Umbral de la Escala de Grises Invertido]<<<<<<<<<<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1 || I(y,x) >= p2
UmbEscGrisInv(y,x) = 255;
end
if I(y,x) > p1 && I(y,x) < p2
UmbEscGrisInv(y,x) = 255 - I(y,x);
end
end
end
%>>>>[Extensión]<<<<<<<<<<<<<<<<<<<
for y = 1:M
for x = 1:N
if I(y,x) <= p1 || I(y,x) >= p2
Exten(y,x) = 255;
end
if I(y,x) > p1 && I(y,x) < p2
Exten(y,x) = (I(y,x) - p1) * (255 / (p2 - p1));
end
end
end

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 112


%>>>>[Imagenes]<<<<<<<<<<<<<<<<<<
I = uint8(I);
InvoNeg = uint8(InvoNeg);
Umbral = uint8(Umbral);
IntUmbBin = uint8(IntUmbBin);
IntUmbBinInv = uint8(IntUmbBinInv);
UmbEscGris = uint8(UmbEscGris);
UmbEscGrisInv = uint8(UmbEscGrisInv);
Exten = uint8(Exten);
figure
imshow(I);
title('IMAGEN ORIGINAL');
figure
imshow(InvoNeg),title('Inverso o Negativo');
imwrite(InvoNeg,'C:\MATLAB7\work\inversoneg.jpg');
figure
imshow(Umbral),title('Umbral');
imwrite(Umbral,'C:\MATLAB7\work\umbral.jpg');
figure
imshow(IntUmbBin),title('Intervalo de Umbral Binario');
imwrite(IntUmbBin,'C:\MATLAB7\work\umbralbinario.jpg');
figure
imshow(IntUmbBinInv),title('Intervalo de Umbral Binario Invertido');
imwrite(IntUmbBinInv,'C:\MATLAB7\work\umbralbinarioinvertido.jpg');
figure
imshow(UmbEscGris),title('Umbral de la Escala de Grises');
imwrite(UmbEscGris,'C:\MATLAB7\work\escaladegrises.jpg');
figure
imshow(UmbEscGrisInv),title('Umbral de la Escala de Grises Invertido');
imwrite(UmbEscGrisInv,'C:\MATLAB7\work\escaladegrisesinvertido.jpg');
figure
imshow(Exten),title('Extensión');
imwrite(Exten,'C:\MATLAB7\work\exten');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 113


• Dauchebies en el formato umbral
clear all;
clc;
X= imread('umbral.jpg','jpg');
A =wavelet('D1',1,X);
B =wavelet('D2',1,X);
C =wavelet('D3',1,X);
D=wavelet('D4',1,X);
E=wavelet('D5',1,X);
F =wavelet('D6',1,X);
figure;
imshow(A),title('Dauchebie1') ;
imwrite(A,'C:\MATLAB7\work\ dauchebi1umbral.jpg');
figure;
imshow(B),title('Dauchebie2') ;
imwrite(B,'C:\MATLAB7\work\ dauchebi2umbral.jpg');
figure;
imshow(C),title('Dauchebie3') ;
imwrite(C,'C:\MATLAB7\work\ dauchebi3umbral.jpg');
figure;
imshow(D),title('Dauchebie4') ;
imwrite(D,'C:\MATLAB7\work\ dauchebi4umbral.jpg');
figure;
imshow(E),title('Dauchebie5') ;
imwrite(E,'C:\MATLAB7\work\ dauchebi5umbral.jpg');
figure;
imshow(F),title('Dauchebie6') ;
imwrite(F,'C:\MATLAB7\work\ dauchebi6umbral.jpg');

• Haar en imagen original


clear all;
clc;
clear all;
clc;

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 114


X= imread('MARG 27 SEP 07_1.jpg','jpg');
A = wavelet('Haar',1,X);
imwrite(A,'C:\MATLAB7\work\ haaroriginal.jpg');
imshow(X),title('Imagen Original');
figure
imshow (A),title('Imagen con wavelet con Haar');
imwrite(A,'C:\MATLAB7\work\ haarnormal.jpg');

• Haar con format de umbral


clear all;
clc;
clear all;
clc;
X= imread('umbral.jpg','jpg');
A = wavelet('Haar',1,X);
figure;
subplot(1,2,1), imshow(X),title('Imagen Original');
subplot(1,2,2), imshow(A),title('Imagen wavelet haar en umbral');
imwrite(A,'C:\MATLAB7\work\ haarumbral.jpg');
imshow(X),title('Imagen Original');
figure
imshow (A),title('Imagen con wavelet con Haar');
imwrite(A,'C:\MATLAB7\work\ haarumbral.jpg');

• Coiflets con imagen original


clear all;
clc;
close all;
X= imread('MARG 27 SEP 07_1.JPG');
A = wavelet('B Coif1',1,X);
B = wavelet(' Coif2',2,X);
figure;
imshow(X), title('Imagen Original');
imshow(A), title('BCoif1');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 115


imwrite(A,'C:\MATLAB7\work\coifnormal.jpg');

• Coiflets con format de umbral


clear all;
clc;
close all;
X= imread('umbral.jpg','jpg');
A = wavelet('B Coif1',1,X);
B = wavelet(' Coif2',2,X);
figure;
imshow(X), title('Imagen Original');
figure
imshow(A), title('BCoif1');
imwrite(A,'C:\MATLAB7\work\coifconumbral.jpg');

• Aproximacion Lineal y No-lineal


clear all;
clc;
close all;
%Utilizamos la transformada wavelet para hacer la aproximacion despues
n = 256; Jmin = 5;
I = load_image(' nseleccionconfiltromedfilt',n);
Iw = perform_wavelet_transform(I,Jmin,+1);
%segunda parte para la regresion lineal y no lineal de la imagen.
M = 3000;
[Y,X] = meshgrid(1:n,1:n); t = max(X,Y); [tmp,t] = sort(t(:)); % ordenando los
coeficitentes
IwM = Iw; IwM( t(M+1:end) ) = 0;
% reconstruyendo la imagen
IM = perform_wavelet_transform(IwM,Jmin,-1);
T = 200; % seleccionando el nivel de umbral a utilizar "como enfoque"
IwT = Iw .* (abs(Iw)>T); % reconstruimos la imagen pero usando el coeficiente de
umbral T

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 116


IT = perform_wavelet_transform(IwT,Jmin,-1);
clf;
figure
imagesc(I); axis image; axis off; title('Imagen Original');
figure
imagesc(IM); axis image; axis off; title( ['Regresion Lineal' num2str(M) ' coef']);
colormap gray(256);
figure
imagesc(IT); axis image; axis off; title( ['Regresion No-Lineal' num2str(M) ' coef']);
colormap gray(256);
imwrite(IM,'C:\MATLAB7\work\ nseleccionregresionlineal300.jpg');
imwrite(IT,'C:\MATLAB7\work\ nseleccionregresionnolineal300.jpg');

Procesamiento Digital de Imágenes de Ultrasonido 2009 Página 117

También podría gustarte