Академический Документы
Профессиональный Документы
Культура Документы
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