线性反锐化掩膜

反锐化掩模技术最早是应用于摄影技术中,以增强图像的边缘和细节。光学上的操作方法是将聚焦的正片和散焦的负片在底片上进行叠加,结果是增强了正片高频成份,从而增强了轮廓,散焦的负片相当于“模糊”模板(掩模),它与锐化的作用正好相反,因此,该方法被称为反锐化掩模法。

 线性反锐化掩模(UnSharp Masking,UM)算法首先将原图像低通滤波后产生一个钝化模糊图像,将原图像与这模糊图像相减得到保留高频成份的图像,再将高频图像用一个参数放大后与原图像叠加,以达到提高图像中高频成分、增强图像轮廓的目的。最初将原图像通过低通滤波器后,因为高频成份受到抑制,从而使图像模糊,所以模糊图像中高频成份有很大削弱。将原图像与模糊图像相减的结果就会使f(x、y)的低频成份损失很多,而高频成份较完整地被保留下来。因此,再将高频成份的图像用一个参数放大后与原图像f(x、y)叠加后,就提升了高频成份,而低频成份几乎不受影响。

 

线性反锐化掩膜_第1张图片

线性反锐化掩膜_第2张图片

代码:

I=imread('C:\Users\Prince\Desktop\origin.bmp');

subplot(2,2,1),imshow(I);

f=double(I);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算

g=fft2(f);        % 傅立叶变换

g=fftshift(g);     % 转换数据矩阵

[N,M]=size(g);

H = fspecial('gaussian',[M,N],0.7);

Blurimage = imfilter(I,H,'replicate');

Iq=imsubtract(I,Blurimage); 

subplot(2,2,2),imshow(Blurimage);   % 显示滤波处理后的图像

subplot(2,2,3),imshow(Iq);

aa=I+2*Iq;

 

subplot(2,2,4),imshow(aa);

1)使用一个均值滤波器(低通)用于图像的模糊;

2)原图像与模糊图像做差得到图像细节(高频信号);

3)原图像与放大后的高频信号进行相加。

function [Iout] = LaplaceSharpenFunc(I,Para)
[m,n]= size(I);
Iout = zeros(m,n);

for i =1:m-2
    for j = 1:n-2
        Round9 = uint8(I(i:i+2,j:j+2));
        Array9=double(Round9(:));
        Array9(5) = [];
        Av = sum(Array9)/8;
        Iout(i+1,j+1) = double(I(i+1,j+1))+Para*(double(I(i+1,j+1))-Av);
    end
end

你可能感兴趣的:(图像处理,图像增强,反锐化掩膜,低通滤波,高频增强)