Вы находитесь на странице: 1из 3

PROCESAMIENTO DE SEALES DIGITALES II

ING. IVAN LADINO


LABORATORIO
FILTRADO EN EL ESPACIO
LUDIN AMANDA GAMA PEREZ COD.2011110236
Las operaciones de filtrado se llevan a cabo directamente sobre los pxeles de la imagen. En este
proceso se relaciona, para todos y cada uno de los puntos de la imagen, un conjunto de pxeles
prximos al pxel objetivo con la finalidad de obtener una informacin til, dependiente del tipo de
filtro aplicado, que permita actuar sobre el pxel 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 podran 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 mscaras de convolucin).

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 tamao y
forma del kernel seleccionado. Aunque la forma y tamao de esta matriz es variable y queda a
eleccin de cada usuario, es comn el uso de kernels cuadrados nxn. Dependiendo de la
implementacin, en los lmites 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 convolucin (barrido) del kernel
sobre la imagen. Para ello se sigue el Teorema de Convolucin en el espacio:g(x,y) = h(x,y) *
f(x,y)
1. Cada pxel de la nueva imagen se obtiene mediante el sumatorio de la multiplicacin del
kernel por los pxeles 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.

Cdigo
fuction g=intrans(f,varargin)
error(nargchhk(2,4,narginn))
classin= class(f);
if strcmp(class(f), 'double')& max(f(:))>1&...
~strcmp(varargin{1},'log')
f=mat2gray(f);
else
f=im2double(f);
end
method=varargin{1};
switch method
case 'neg'
g=imcomplement(f);
case 'log'
if length(varargin)==1
c=1;
elseif length(varargin)==2
c=varargin{2};
elseif length(varargin)==3
c=varargin{2};
classin=varargin{3};
else
error('Incorrect number of inputs for the log option.')
end
g=c*(log(1+double(f)));
case 'gamma'
if length(varargin)<2
error('Not enough inputs for the gamma option.')
end
gam=varargin{2};
g=imadjust(f,[],[],gam);
case 'strech'
if length(varargin)==1
m=mean2(f);
E=4.0;
elseif length(varargin)==3
m=varargin{2};
E=varargin{3};
elseerror('incorrect number of inputs for the stretch
option.')
end
g=1./(1+(m./(f+eps)).^E);
otherwise
error('Unknown enhancement method.)
end
g=changeclass(classing,g);

Bibliofrafia
www.clear.rice.edu/elec301/Projects01/image_filt/transform.html
www.wikipedia.com

Вам также может понравиться