Documentos de Académico
Documentos de Profesional
Documentos de Cultura
T E S I S: Instituto Politécnico Nacional
T E S I S: 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:
PRESENTA:
RODRIGO HERNÁNDEZ NAVARRETE
A.
ASEsaRES
TEMA PAGINA
OBJETIVO GENERAL 7
OBJETIVOS ESPECÍFICOS 7
JUSTIFICACION 8
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
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
CONCLUSIONES 83
RECOMENDACIONES PARA TRABAJOS FUTUROS 83
BIBLIOGRAFÍA 84
APÉNDICE A 89
APÉNDICE B 96
APÉNDICE C 99
imágenes de ultrasonido.
• Obtener datos, que hagan más evidentes los rasgos de las imágenes de
ultrasonidos.
OBJETIVOS ESPECÍFICOS
• Obtener como resultado final, una imagen que permita tomar una decisión
1.1 INTRODUCCIÓN
Fig. 1.3 a) Imagen original b) Imagen con ruido impulsivo del 10%
c) Imagen con ruido impulsivo del 30%.
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]
Ie(i,j)= A(h,k)G(i-h,j-k)
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.
B = imfilter(A,H,option1,option2,...)
h = fspecial(type,parameters)
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:
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.
2.1 INTRODUCCIÓN
• 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.
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.
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.
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).
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.
Tabla 2.3. Muestra los valores del arreglo f, que representa la imagen.
Fig. 2.2 a) Imagen con el comando imshow(f), b) Imagen con comando imshow f [low high]
Fig. 2.3 a) Imagen con el comando imshow(f), b) Imagen con el comando inshow f [ ]
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.
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.
3.1 INTRODUCCIÓN
3.2 WAVELETS
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.
a0= 1/2π
a0= 1/2π
a0= 1/2π
Fig. 3.1 Representación de la función de Fourier
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.
“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]
Fig 3.8. Esquema de la descomposición Wavelet en dos dimensiones, con filtros p(n) y q(n).
Cψ = df <
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.
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
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.
o ----------------------------- (1)
donde:
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.
Fig. 5.5. Los efectos biológicos son resultado del efecto mecánico y efecto térmico.
4.5 SPECKLE
5.1 INTRODUCCIÓN
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.
5.2.3 Preprocesamiento
Operador fundamental
Operador de Roberts
Operador de Prewitt
Operador de Sobel
Con este operador buscaremos realzar los bordes con el operador de Roberts, que
ya mencionamos en el capítulo II.
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.
5.2.4 Segmentación
5.3.1 Representación
5.3.2 Wavelets
5.3.2.1 Dauchebies
5.3.2.2 Haar
5.3.2.3 Coiflets
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.
[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
[24] Andy Milkowski, MS, Yandong Li, PhD, David Becker, MS, Syed O. Ishrak,
PhD,
“Speckle Reduction Imaging”, GE Medical Systems Ultrasound, GE
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.
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.
Fig. 7. Imágenes mostrando los bordes Sobel, Canny, Pewitt y Log respectivamente.
Conclusiones.
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');
• 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');
• 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');