Procesamiento de Imágenes Biomédicas

Vega Rueda Karen Guadalupe

Convolución
Definición
La convolución de f y g se denota f * g. Se define como la integral del
producto de ambas funciones después de desplazar una de ellas una
distancia t.

El intervalo de integración dependerá del dominio sobre el que estén
definidas las funciones. En el caso de un rango de integración finito, f y g se
consideran a menudo como extendidas, periódicamente en ambas
direcciones, tal que el término g (t - η) no implique una violación en el
rango. Cuando usamos estos dominios periódicos la convolución a veces
se llama cíclica. Desde luego que también es posible extender con ceros
los dominios. El nombre usado cuando ponemos en juego estos dominios
"cero-extendidos" o bien los infinitos es el de convolución lineal,
especialmente en el caso discreto que presentaremos abajo.
Si X e Y son dos variables aleatorias independientes con funciones de
densidad de probabilidad f y g, respectivamente, entonces la densidad de
probabilidad de la suma X + Y vendrá dada por la convolución f * g.
Para las funciones discretas se puede usar una forma discreta de la
convolución. Esto es:

Cuando multiplicamos dos polinomios, los coeficientes del producto están
dados por la convolución de las sucesiones originales de coeficientes, en el
sentido dado aquí (usando extensiones con ceros como hemos
mencionado).
Generalizando los casos anteriores, la convolución puede ser definida para
cualesquiera dos funciones de cuadrado integrable definidas sobre
un grupo topológico localmente compacto. Una generalización diferente
es la convolución de distribuciones.

8. cada vez es más frecuente. -1}. adjudicarles nombres más de acuerdo con el resultado visual que producen sobre la imagen "filtrada". -1}. puede representarse como una matriz cuadrada o rectangular (matriz de convolución). se multiplica el valor de cada píxel de la imagen. El algoritmo creado para la aplicación de los filtros de convolución creados para el procesamiento de la imagen es el siguiente: Convolucion /*Convolucion Vega Rueda Karen Guadalupe 29 de Septiembre del 2016 */ import g4p_controls. por el valor de éste. se basan en el proceso de convolución y en las propiedades de la convolución respecto la transformación de Fourier. En cada posición.*. Estas funciones.Y). es substituido por la suma de los productos.png". String arch = G4P. -1. El píxel de la imagen. a muchos de estos filtros."Abrir"). lo que simplifica el cálculo matemático y los tiempos de computación. a las que por analogía con la teoría de señales se las denomina comúnmente "filtros". La matriz de convolución se desplaza sobre la imagen de tal forma que el elemento central de la matriz de convolución coincida con cada uno de los píxeles de la imagen.selectInput("Abrir imagen". en los sistemas de proceso de imagen. {-1. float filtro[][] ={ {-1. que coincide con el elemento central de la matriz de convolución. que coincide en posición con un elemento de la matriz de convolución. para una imagen digital. que permiten resaltar determinados elementos de la imagen. {-1. -1. mejorar el enfoque o reducir el ruido de fondo. "jpg. Una parte muy importante de los procesos de mejora se basan en la aplicación de funciones.N) mucho más pequeñas que la des la imagen. -1} . Por esto. cuyo resultado depende únicamente de los niveles de intensidad de cada píxel de la imagen pero no de la posición dentro de la imagen. Sin embargo. se les solía denominar según su acción en el espacio de las frecuencias. en el espacio real (X.Procesamiento de Imágenes Biomédicas Vega Rueda Karen Guadalupe Filtros de convolución gráfica. Un filtro de convolución. de dimensiones (M.

k/(2+k). -k/(2+k)}. image(img. int inicio. -1. -1/(2+k)}. 0}.k. img1.img.l. {k/(2+k). inicio = -mitad.length.height). 0. x<img1. float filtro1[][] ={ {0.513).loadPixels(). 0. -1/(2+k)}.width-mitad. img.b. filtro). float filtro2[][] = { {1/(2+k). image(procesada.loadPixels().width. PImage img2 = createImage( img1. x++){ .j. 1/(2+k). RGB). for( y=mitad. -1}.height-mitad. float r. img2.y. 0}.width. float k = sqrt(2).g. 1/(2+k)} }. y++){ for( x=mitad. } PImage convolucion(PImage img1.Procesamiento de Imágenes Biomédicas Vega Rueda Karen Guadalupe }. float filtro3[][]={ {-1/(2+k).jpg"). {1/(2+k). {-1. PImage procesada = convolucion(img. mitad = int(tan/2). fin = mitad.width*2. {0. {0. fin.*/ size(600. {1/(2+k). 0. 0} }. save("mioenfiltro1. img1. -1. 5. int tan = mascara.i. y<img1. float [][]mascara){ int x. /*size(img. int mitad. 0. void setup(){ PImage img = loadImage(arch).height. -1/(2+k)} }. 0). 0). -k/(2+k).

k=0. i<=fin.pixels[loc2]) * mascara[k][l]. g = 0.pixels[loc2]) * mascara[k][l]. g += green(img1. int loc1 =x+ y*img1. k++){ int loc2 = (x+i) + ((y+j)*img1.width).g. } } img2.pixels[loc1] = color(r.width. j<=fin.pixels[loc2]) * mascara[k][l].updatePixels().l=0. b += blue(img1. l++){ for (i =inicio. b = 0. i++. r+= red(img1. for(j=inicio. j++. } } img2. return img2.Procesamiento de Imágenes Biomédicas Vega Rueda Karen Guadalupe r = 0. } Donde las imágenes son las siguientes: Imagen Original Primer filtro etiquetado como filtro .b).

Procesamiento de Imágenes Biomédicas Segundo filtro Cuarto filtro Vega Rueda Karen Guadalupe Tercer filtro .