Histogramas de Imagenes

28
Histogramas, transformaciones de color, máscaras, filtros y convoluciones MATERIA: PROCESAMIENTO DE IMÁGENES PROFRA: ANGELICA MILLAN PRESENTAN: MARTIN MARTINEZ CRISTINE REYES AGUSTIN LOZA JOSE LUIS 8° SEMESTRE

description

detalle de los histogramas y filtros de una imagen para el área de procesamiento de imagenes

Transcript of Histogramas de Imagenes

Histogramas, transformaciones de color, máscaras, filtros y convoluciones

MATERIA: PROCESAMIENTO DE IMÁGENES

PROFRA: ANGELICA MILLAN

PRESENTAN:

MARTIN MARTINEZCRISTINE REYES AGUSTIN LOZA

JOSE LUIS

8° SEMESTRE

HISTOGRAMAS

DEFINICIÓN

El histograma de una imagen es la representación gráfica de la distribución que existe de las distintas tonalidades de grises con relación al número de pixeles o porcentaje de los mismos. La representación de un histograma ideal sería la de una recta horizontal, ya que eso nos indicaría que todos los posibles valores de grises están distribuidos de manera uniforme en nuestra imagen.

Imagen muy contrastada

Hay claramente 2 zonas, una muy clara y otra muy oscura y no existen tonos medios

Imagen poco contrastada

La información se amontona en la zona central del histograma porque todos los pixeles son de tonos medios

Predominio de zonas oscuras

La mayoría de los pixeles son oscuros.

Predominio de zonas brillantes

La mayoría de los pixeles son claros

El histograma de una imagen digital con niveles de gris en el rango: [0,L − 1]

Es una función discreta P(r) = nr

Donde r = representa un nivel de gris y nr= representa el número de pixeles que tienen ese valor de gris.

Normalizar un histograma

Dividiendo cada uno de sus valores por el número total de pixeles en la imagen, denotado por n. El histograma queda: P(rk) = nk/n

k = 0, 1,..., L−1.

P(rk) da una estimación de la probabilidad de la ocurrencia del nivel de gris rk. La suma de todos los componentes de un histograma normalizado es igual a 1

Ecualización del histograma

La ecualización de un histograma consiste en encontrar una transformación con la cual el histograma tenga una representación uniforme, es decir, con la ecualización trataremos de igualar lo más posible el histograma de una imagen al histograma ideal.

Consideremos las funciones continuas. Sea r la variable que representa los niveles de gris de la imagen. Primeramente asumimos que nuestro histograma ha sido normalizado en el intervalo [0, 1],

Dónde: r = 0 representa el nivel de gris negro y r = 1 el nivel de gris blanco.

Para cualquier r que satisfaga las condiciones anteriores, centramos nuestra atención en transformaciones de la forma: s = T(r) 0 ≤ r ≤ 1 la cual produce un nivel s para cada valor del pixel r en la imagen original.

Para llevar a cabo esta ecualización es necesario establecer dos restricciones, ya que sin estas podríamos obtener resultados erróneos:

1. T(r) debe ser monotónicamente creciente: indica que la pendiente de la función no puede ser negativa, ya que si fuera así, la imagen se vería afectada en su totalidad, porque lo que estaríamos haciendo sería invertirla en sus tonalidades.

dsdr

>0

2. T(r) debe tener inversa y debe ser monotónicamente creciente. Para resolver un problema como este se debe suponer que r y s son continuas y que además:

r y s son variables aleatorias y continuas. P(r) y P(s) son funciones de densidad de probabilidad de r y s.

Ecualización de histograma

Proceso

Para visualizar el histograma de una imagen, se usa:I = imread('imagen1.jpg');[nk, rk] = imhist(I);bar(rk, nk, 1);

Para visualizar el histograma normalizado, se usa:I = imread('imagen1.jpg');[nk, rk] = imhist(I);size = sum(nk(:,1));nk1 = nk / size;bar(rk, nk1, 1);

CÓDIGO

function boton1_Callback(hObject, eventdata, handles)global bandera;if hObject == handles.boton1

bandera=0;end

global aux;aux= uigetfile('*.jpg','Abrir Imagen');global img1;img1= rgb2gray (imread(aux));subplot (handles.imagen),imshow(img1);subplot (handles.histograma),imhist(img1);

function boton2_Callback(hObject, eventdata, handles)

aux2= uigetfile('*.jpg','Abrir Imagen');global img2;img2= rgb2gray (imread(aux2));subplot (handles.imagen2),imshow(img2);subplot (handles.histograma2),imhist(img2);

function boton3_Callback(hObject, eventdata, handles)aux3= uigetfile('*.jpg','Abrir Imagen');global img3;img3= rgb2gray (imread(aux3));subplot (handles.imagen3),imshow(img3);subplot (handles.histograma3),imhist(img3);

function boton4_Callback(hObject, eventdata, handles)aux4= uigetfile('*.jpg','Abrir Imagen');global img4;img4= rgb2gray (imread(aux4));subplot (handles.imagen4),imshow(img4);subplot (handles.histograma4),imhist(img4);

TRANSFORMACIONES DE COLOR

El modelo YIQ define un espacio de color, usado por el estándar de televisión NTSC. I significa en fase (in-phase, en inglés), mientras que Q significa cuadratura (quadrature, en inglés) y se refieren a los componentes usados en la modulación de amplitud en cuadratura. Algunas formas del estándar NTSC ahora utilizan el espacio de color YUV, que es también utilizado por otros sistemas como PAL.

La componente Y representa la información de luminancia y es el único componente utilizado por los televisores de blanco y negro. I y Q representan la información de crominancia. En YUV, las componentes U y V son las coordenadas X e Y dentro de ese espacio de color. I y Q pueden ser imaginados como un segundo par de ejes en el mismo gráfico, rotados en 33º; por lo tanto, IQ y UV representan diferentes sistemas de coordenadas en el mismo plano.

El sistema YIQ está destinado a aprovechar las características de la respuesta humana al color. El ojo humano es más sensible a los cambios en el rango naranja-azul (I) que en el rango púrpura-verde (Q), así se requiere menos ancho de banda para Q que para I. La transmisión en NTSC limita el ancho de banda de la señal I a 1,5 MHz y el de Q en 0,5 MHz. 1Las señales I y Q son entrelazadas en frecuencia dentro de la señal Y de 4 Mhz, lo cual mantiene el ancho de banda total por debajo de 4,2 MHz. En los sistemas que usan el espacio de color YUV, dado que U y V contienen información del rango naranja-azul, a ambos componentes se les debe dar la misma cantidad de ancho de banda para conseguir la misma fidelidad de color.

Muy pocos televisores realizan decodificación I-Q, debido a los grandes costes de la implementación. Comparado con la decodificación de las señales R-Y y B-Y que requieren solo un filtro, las señales I y Q requieren filtros diferentes para satisfacer sus diferentes anchos de banda.

Modelo HSB

Es común que deseemos elegir un color adecuado para alguna de nuestras aplicaciones, cuando es así resulta muy útil usar la ruleta de color HSV. En ella el matiz se representa por una región circular; una región triangular separada, puede ser usada para representar la saturación y el valor del color. Normalmente, el eje horizontal del triángulo denota la saturación, mientras que el eje vertical corresponde al valor del color. De este modo, un color puede ser elegido al tomar primero el matiz de una región circular, y después seleccionar la saturación y el valor del color deseados de la región triangular.

Matiz

Se representa como un grado de ángulo cuyos valores posibles van de 0 a 360° (aunque para algunas aplicaciones se normalizan del 0 al 100%). Cada valor corresponde a un color. Ejemplos: 0 es rojo, 60 es amarillo y 120 es verde.

De forma intuitiva se puede realizar la siguiente transformación para conocer los valores básicos RGB:

Disponemos de 360 grados dónde se dividen los 3 colores RGB, eso da un total de 120º por color, sabiendo esto podemos recordar que el 0 es rojo RGB(1, 0, 0), 120 es verde RGB(0, 1, 0) y 240 es azul RGB(0, 0, 1). Para colores mixtos se utilizan los grados intermedios, el amarillo, RGB(1, 1, 0) está entre rojo y verde, por lo tanto 60º. Se puede observar cómo se sigue la secuencia de sumar 60 grados y añadir un 1 o quitar el anterior:

0º = RGB(1, 0, 0)

60º = RGB(1, 1, 0)

120º = RGB(0, 1, 0)

180º = RGB(0, 1, 1)

240º = RGB(0, 0, 1)

300º = RGB(1, 0, 1)

360º = 0º

Esta transformación permite saber los tonos de matices de colores puros que contienen alguna cantidad (o ninguna) de los colores R, G y B. Para el color blanco se puede poner cualquier color y saturación, siempre que se establezca el valor (de luminosidad) máximo. Asimismo, para el color negro se puede poner cualquier color y saturación, siempre que se ponga un valor de 0.

Saturación

Se representa como la distancia al eje de brillo negro-blanco. Los valores posibles van del 0 al 100%. A este parámetro también se le suele llamar "pureza" por la analogía con la pureza de excitación y la pureza colorimétrica de la colorimetría. Cuanto menor sea la saturación de un color, mayor tonalidad grisácea habrá y más decolorado estará. Por eso es útil definir la insaturación como la inversa cualitativa de la saturación.

Graduaciones de saturación en el modelo HSV

matiz 100% puro 75% de saturación saturación media 25% de saturación 0 de saturación

Para calcular la saturación, simplemente divida el croma por el máximo croma para ese valor.

Modelo CMYK

El modelo CMYK (acrónimo de Cyan, Magenta, Yellow y Key) es un modelo de colores sustractivo que se utiliza en la impresión a colores.

Este modelo de 32 bits se basa en la mezcla de pigmentos de los siguientes colores para crear otros más:

C = Cyan (Cian).

M = Magenta (Magenta).

Y = Yellow (Amarillo).

K = Black ó Key (Negro).

La mezcla de colores CMY ideales es sustractiva (pues imprimir cyan, magenta y amarillo en fondo blanco resulta en el color negro). El modelo CMYK se basa en la absorción de la luz. El color que presenta un objeto corresponde a la parte de la luz que incide sobre este y que no es absorbida por el objeto.

El cian es el opuesto al rojo, lo que significa que actúa como un filtro que absorbe dicho color (-R +G +B). Magenta es el opuesto al verde (+R -G +B) y amarillo el opuesto al azul (+R +G -B).

MÁSCARAS

Filtrado en el dominio del espacio

Las operaciones de filtrado se llevan a cabo directamente sobre los píxeles de la imagen. En este proceso se relaciona, para todos y cada uno de los puntos de la imagen, un conjunto de

píxeles próximos al píxel objetivo con la finalidad de obtener una información útil, dependiente del tipo de filtro aplicado, que permita actuar sobre el píxel concreto en que se está llevando a cabo el proceso de filtrado para, de este modo, obtener mejoras sobre la imagen y/o datos que podrían ser utilizados en futuras acciones o procesos de trabajo sobre ella.

Los filtros en el dominio del espacio pueden clasificarse en:

Filtros lineales (filtros basados en kernels o máscaras de convolución). Filtros no lineales.

El concepto de kernel se entiende como una matriz de coeficientes donde el entorno del punto (x,y) que se considera en la imagen para obtener g(x,y) está determinado por el tamaño y forma del kernel seleccionado. Aunque la forma y tamaño de esta matriz es variable y queda a elección de cada usuario, es común el uso de kernels cuadrados nxn. Dependiendo de la implementación, en los límites de la imagen se aplica un tratamiento especial (se asume un marco exterior de ceros o se repiten los valores del borde) o no se aplica ninguno. Es por ello, que el tipo de filtrado queda establecido por el contenido de dicho kernel utilizado.

Para realizar un filtrado en el dominio del espacio se realiza una convolución (barrido) del kernel sobre la imagen. Para ello se sigue el Teorema de Convolución en el espacio: g(x,y) = h(x,y) * f(x,y)

1. Cada píxel de la nueva imagen se obtiene mediante el sumatorio de la multiplicación del kernel por los píxeles contiguos:g(x,y) = ∑∑ f(i,j) w(i,j)

2. Generalmente se divide sobre cierto valor constante para normalizar que suele obtenerse de la suma de los valores del kernel empleado.

Tipos

Filtro paso bajo (suavizamiento): utilizados para eliminar ruido o detalles pequeños de poco interés puesto que sólo afecta a zonas con muchos cambios. La frecuencia de corte se determina por el tamaño del kernel y sus coeficientes. Se emplean diversos kernels:

o Promedio: promedio de píxeles vecinos (kernel de unos).o Paso bajo en frecuencia.o Media: reemplaza cada píxel por el valor medio de sus contiguos.o Mediana: sustituye por el valor de la mediana de los píxeles vecinos

(normalmente se comporta mejor que el de promedio).o Gaussiano: aproximación a la distribución gaussiana.

Filtro paso alto (atenuamiento): intensifica los detalles, bordes y cambios de alta frecuencia, mientras que atenúa las zonas de tonalidad uniforme. Esto permite una mejor identificación posterior de los objetos que se encuentren en la imagen, puesto que el brillo se hace mayor en las zonas con frecuencias más altas, al mismo tiempo que se oscurecen las zonas de frecuencias bajas. Es común la aparición de ruido tras el proceso.

Realce de bordes por desplazamiento y diferencia: sustrae de la imagen original una copia desplazada de la misma. Así, es posible localizar y hacer resaltar los bordes existentes y que se quieran obtener según el modelo de kernel aplicado:

o Horizontal.o Vertical.o Horizontal/Vertical (diagonal).

Realce de bordes mediante Laplace: este tipo de filtros realza los bordes en todas direcciones (los resultados que se obtienen pueden considerarse como una “suma” de los obtenidos tras aplicar todos los modelos del tipo anterior). En esta ocasión se trabaja con la segunda derivada, que permite obtener unos mejores resultados, a pesar del aumento del ruido que se produce en la imagen.

Resalte de bordes con gradiente direccional: empleado para destacar y resaltar con mayor precisión los bordes que se localizan en una dirección determinada. Trabaja con los cambios de intensidad existentes entre píxeles contiguos.

Detección de bordes y filtros de contorno (Prewitt y Sobel): al igual que los anteriores, se centra en las diferencias de intensidad que se dan pixel a pixel. Son utilizados para obtener los contornos de objetos y de este modo clasificar las formas existentes dentro de una imagen. Este tipo de filtros requieren un menor coste computacional.

FILTROS

DEFINICIÓN

Un filtro es una ecuación matemática (denominada producto de convolución) que permite modificar el valor de un píxel según los valores de los píxeles contiguos, con coeficientes por cada píxel de la región a la que se lo aplica.

El filtro se representa en una tabla (matriz) que se caracteriza por sus dimensiones y coeficientes, cuyo centro corresponde al píxel en cuestión. Los coeficientes de la tabla determinan las propiedades del filtro. El siguiente es un ejemplo de un filtro 3 X 3:

1 1 1

1 4 1

1 1 1

Por lo tanto, el producto de la matriz de la imagen, que por lo general es muy grande porque representa la imagen inicial (tabla de píxeles) por el filtro da como resultado una matriz que corresponde a la imagen procesada.

Proceso de Filtrado

Es el conjunto de técnicas englobadas dentro del pre procesamiento de imágenes cuyo objetivo fundamental es obtener, a partir de una imagen origen, otra final cuyo resultado sea más adecuado para una aplicación específica mejorando ciertas características de la misma que posibilite efectuar operaciones del procesado sobre ella.

Los principales objetivos que se persiguen con la aplicación de filtros son:

Suavizar la imagen: reducir la cantidad de variaciones de intensidad entre píxeles vecinos. Eliminar ruido: eliminar aquellos píxeles cuyo nivel de intensidad es muy diferente al de sus

vecinos y cuyo origen puede estar tanto en el proceso de adquisición de la imagen como en el de transmisión.

Realzar bordes: destacar los bordes que se localizan en una imagen. Detectar bordes: detectar los píxeles donde se produce un cambio brusco en la función

intensidad.

Por tanto, se consideran los filtros como operaciones que se aplican a los píxeles de una imagen digital para optimizarla, enfatizar cierta información o conseguir un efecto especial en ella.

El proceso de filtrado puede llevarse a cabo sobre los dominios de frecuencia y/o espacio.

Filtrado en el dominio de la frecuencia

Los filtros de frecuencia procesan una imagen trabajando sobre el dominio de la frecuencia en la Transformada de Fourier de la imagen. Para ello, ésta se modifica siguiendo el Teorema de la Convolución correspondiente:

1. se aplica la Transformada de Fourier,2. se multiplica posteriormente por la función del filtro que ha sido escogido,3. para concluir re-transformándola al dominio espacial empleando la Transformada Inversa de

Fourier.

Teorema de la Convolución (frecuencia):

Dónde: F(u,v): transformada de Fourier de la imagen original.

H(u,v): filtro atenuador de frecuencias.

Como la multiplicación en el espacio de Fourier es idéntica a la convolución en el dominio espacial, todos los filtros podrían, en teoría, ser implementados como un filtro espacial.

Etapas del procesamiento de imágenes en el dominio de la frecuencia.

Tipos

Existen básicamente tres tipos distintos de filtros que pueden aplicarse:

Filtro paso bajo: atenúa las frecuencias altas y mantiene sin variaciones las bajas. El resultado en el dominio espacial es equivalente al de un filtro de suavizado, donde las altas frecuencias que son filtradas se corresponden con los cambios fuertes de intensidad. Consigue reducir el ruido suavizando las transiciones existentes.

Filtro paso alto: atenúa las frecuencias bajas manteniendo invariables las frecuencias altas. Puesto que las altas frecuencias corresponden en las imágenes a cambios bruscos de densidad, este tipo de filtros es usado, porque entre otras ventajas, ofrece mejoras en la detección de bordes en el dominio espacial, ya que estos contienen gran cantidad de dichas frecuencias. Refuerza los contrastes que se encuentran en la imagen.

Filtro paso banda: atenúa frecuencias muy altas o muy bajas manteniendo una banda de rango medio.

Ventajas:

Método simple y sencillo de implementar. Fácil asociación del concepto de frecuencia con ciertas características de la imagen; cambios

de tonalidad suaves implican frecuencias bajas y cambios bruscos frecuencias altas. Proporciona flexibilidad en el diseño de soluciones de filtrado. Rapidez en el filtrado al utilizar el Teorema de la Convolución.

Desventajas:

Se necesitan conocimientos en varios campos para desarrollar una aplicación para el procesamiento de imágenes.

El ruido no puede ser eliminado completamente.

Filtrado en el dominio del espacio

Las operaciones de filtrado se llevan a cabo directamente sobre los píxeles de la imagen. En este proceso se relaciona, para todos y cada uno de los puntos de la imagen, un conjunto de píxeles próximos al píxel objetivo con la finalidad de obtener una información útil, dependiente del tipo de filtro aplicado, que permita actuar sobre el píxel concreto en que se está llevando a cabo el proceso de filtrado para, de este modo, obtener mejoras sobre la imagen y/o datos que podrían ser utilizados en futuras acciones o procesos de trabajo sobre ella.

Los filtros en el dominio del espacio pueden clasificarse en:

Filtros lineales (filtros basados en kernels o máscaras de convolución). Filtros no lineales.

El concepto de kernel se entiende como una matriz de coeficientes donde el entorno del punto (x,y) que se considera en la imagen para obtener g(x,y) está determinado por el tamaño y forma del kernel seleccionado. Aunque la forma y tamaño de esta matriz es variable y queda a elección de cada usuario, es común el uso de kernels cuadrados nxn. Dependiendo de la implementación, en los límites de la imagen se aplica un tratamiento especial (se asume un marco exterior de ceros o se repiten los valores del borde) o no se aplica ninguno. Es por ello, que el tipo de filtrado queda establecido por el contenido de dicho kernel utilizado.

Para realizar un filtrado en el dominio del espacio se realiza una convolución (barrido) del kernel sobre la imagen. Para ello se sigue el Teorema de Convolución en el espacio: g(x,y) = h(x,y) * f(x,y)

3. Cada píxel de la nueva imagen se obtiene mediante el sumatorio de la multiplicación del kernel por los píxeles contiguos:g(x,y) = ∑∑ f(i,j) w(i,j)

4. Generalmente se divide sobre cierto valor constante para normalizar que suele obtenerse de la suma de los valores del kernel empleado.

Tipos

Filtro paso bajo (suavizamiento): utilizados para eliminar ruido o detalles pequeños de poco interés puesto que sólo afecta a zonas con muchos cambios. La frecuencia de corte se determina por el tamaño del kernel y sus coeficientes. Se emplean diversos kernels:

o Promedio: promedio de píxeles vecinos (kernel de unos).o Paso bajo en frecuencia.o Media: reemplaza cada píxel por el valor medio de sus contiguos.o Mediana: sustituye por el valor de la mediana de los píxeles vecinos (normalmente se

comporta mejor que el de promedio).o Gaussiano: aproximación a la distribución gaussiana.

Filtro paso alto (atenuamiento): intensifica los detalles, bordes y cambios de alta frecuencia, mientras que atenúa las zonas de tonalidad uniforme. Esto permite una mejor identificación posterior de los objetos que se encuentren en la imagen, puesto que el brillo se hace mayor en las zonas con frecuencias más altas, al mismo tiempo que se oscurecen las zonas de frecuencias bajas. Es común la aparición de ruido tras el proceso.

Realce de bordes por desplazamiento y diferencia: sustrae de la imagen original una copia desplazada de la misma. Así, es posible localizar y hacer resaltar los bordes existentes y que se quieran obtener según el modelo de kernel aplicado:

o Horizontal.o Vertical.o Horizontal/Vertical (diagonal).

Realce de bordes mediante Laplace: este tipo de filtros realza los bordes en todas direcciones (los resultados que se obtienen pueden considerarse como una “suma” de los

obtenidos tras aplicar todos los modelos del tipo anterior). En esta ocasión se trabaja con la segunda derivada, que permite obtener unos mejores resultados, a pesar del aumento del ruido que se produce en la imagen.

Resalte de bordes con gradiente direccional: empleado para destacar y resaltar con mayor precisión los bordes que se localizan en una dirección determinada. Trabaja con los cambios de intensidad existentes entre píxeles contiguos.

Detección de bordes y filtros de contorno (Prewitt y Sobel): al igual que los anteriores, se centra en las diferencias de intensidad que se dan pixel a pixel. Son utilizados para obtener los contornos de objetos y de este modo clasificar las formas existentes dentro de una imagen. Este tipo de filtros requieren un menor coste computacional.

CÓDIGO

Filtro de Detección de Bordes:

im_gray2=rgb2gray(handles.myImage); im_edge=edge(im_gray2,'sobel'); imshow(im_edge, 'Parent', handles.axes2);

Filtro de Ruido de la Imagen:

im_gray3=imnoise(handles.myImage, 'salt & pepper'); imshow(im_gray3, 'Parent', handles.axes2);

Filtro de Ruido de la Imagen en Escala de Grises:

im_gray4=rgb2gray(handles.myImage); im_gray5=imnoise(im_gray4, 'salt & pepper'); imshow(im_gray5, 'Parent', handles.axes2);

Filtro de Mediana:

im_filt=medfilt2(im_gray8); imshow(im_filt, 'Parent', handles.axes2);

Filtro de Suavizado:

filtro=1/9*[1 1 1;1 1 1;1 1 1]; filtro_suavizado=filter2(filtro,double(im_gray8)); image(filtro_suavizado, 'Parent', handles.axes2);

Filtro de Mediana y de Suavizado:

im_filt2=medfilt2(im_gray8); filtro3=1/9*[1 1 1;1 1 1;1 1 1]; filtro_suavizado2=filter2(filtro3,double(im_filt2)); image(filtro_suavizado2, 'Parent', handles.axes2);

CONVOLUCIONES

DEFINICIÓN

Una convolución es un operador matemático que transforma dos funciones f y g en una tercera función que en cierto sentido representa la magnitud en la que se superponen f y una versión trasladada e invertida de g. Una convolución es un tipo muy general de media móvil, como se puede observar si una de las funciones se toma como la función característica de un intervalo.

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 g(t - η) no implique una violación en el rango.

Cuando se usa 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.

X , Y son dos variables aleatorias independientes con funciones de densidad de probabilidad f y g.

Entonces la densidad de probabilidad de la suma X + Y vendrá dada por la convolución f * g.

Cuando se multiplican 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).

La convolución es definida para dos funciones de cuadrado integrable definidas sobre un grupo topológico localmente compacto. Una generalización diferente es la convolución de distribuciones.

Para las funciones discretas se puede usar una forma discreta de la convolución. Esto es:

El proceso mediante el cual se aplica un filtro espacial a una imagen matemáticamente se explica por el proceso de convolución.

La convolución viene dada por [3]:

Donde:

x y y son las coordenadas del pixel.

a y b son variables artificiales para el desplazamiento de la matriz de convolución.

La convolución de la imagen con el filtro que se desea aplicar, da como resultado la imagen filtrada.

La figura 2 muestra el proceso de convolución aplicado a una imagenf(x,y)

Imagen original =f( x,y).

17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9

Filtro = g(x,y)

1/9 1/9 1/9

1/9 1/9 1/91/9 1/9 1/9

Imagen filtrada =f(x,y )*g(x,y)

Dado que se trabaja con imágenes discretizadas en niveles de gris, si al aplicar el filtro se obtiene un valor decimal, éste se trunca.

La convolución se realiza adicionando los productos obtenidos luego de multiplicar uno a uno los términos de la máscara de convolución con cada uno de los pixeles de la imagen, tal como se muestra en los siguientes ejemplos:

Elemento 2,1 (fila 2, columna 1) =

* = 23+5+7+4+6+13+10+12+9

9= 999

= 11

Elemento 3,3 (fila 3, columna 3) =

* = 13+20+22+19+21+3+25+2+9

9 = 1349

=

14

La figura 3 presenta estas imágenes en escala de grises, usando una paleta de 32 niveles.

11 10 1211 13 1513 15 14

23 5 7 4 6 13 10 12 19

1/9 1/9 1/91/9 1/9 1/91/9 1/9 1/9

13 20 2219 21 325 2 9

1/9 1/9 1/91/9 1/9 1/91/9 1/9 1/9

Como puede observarse, los valores resultantes son más homogéneos, lo cual es un resultado directo de la aplicación de un filtro pasabajos.

Los principales objetivos del realce o filtrado espacial son [1]:

Mejorar la apariencia visual de la imagen. Ayudar a la extracción de información.

CÓDIGO

function cargar_Callback(hObject, eventdata, handles)global bandera;if hObject == handles.cargar

bandera=0;endglobal aux;aux= uigetfile('*.jpg','Abrir Imagen');

global img1

img1=imread(aux);

global img2global img3

global img4global img5

subplot (handles.axes1),imshow(img1);

% convertir imagenes global himg2=img1;h =[1/32,1/32,1/32];img2=convn(img1,h);subplot (handles.axes2),imshow(img2);

img3=img1;h =[1/300,1/300,1/300];img3=convn(img1,h);subplot (handles.axes3),imshow(img3);

img4=img1;h =[1/300,1/500,1/500];img4=convn(img1,h);subplot (handles.axes4),imshow(img4);

img5=img1;h =[1/1000,1/1000,1/1000];img5=convn(img5,h);subplot (handles.axes5),imshow(img5);

FUENTEShttp://es.kioskea.net/contents/718-filtros-graficos

http://es.wikipedia.org/wiki/Procesamiento_digital_de_im%C3%A1genes#Filtrado_en_el_dominio_del_espacio

http://matlabimagenes.blogspot.mx/2014/03/procesamiento-de-imagenes-basico-en.html