Matlab高频强调滤波增强,高斯高通滤波器,巴特沃斯高通滤波器图像处理

一、目标:

  1. 对lena图像采用高频强调滤波增强方法,并分析方法的效果。(理想、巴特沃斯、高斯)。其结果好不好?能否有改善的方法?

 

二、函数分析:

1、高斯高通滤波器

传递函数:

 

高斯低通滤波器

传递函数:

D0指截止频率。

 

2、巴特沃斯高通滤波器

    传递函数:

 

巴特沃斯低通滤波器

传递函数:

描述:在公式中,D(u,v)代表频域当中,点(u,v)到中心点的距离。而D0就是截止距离了,就相当于在频域当中画一个圈,对圈内或者圈外保留就可以达到所谓的低通和高通了,这个D0就相当于一维当中的截止频率

 

3、高频强调滤波方法

    传递函数:

   Hhfe(u,v) = a + bHhp(u,v)

描述:加入一个偏移量同时乘以一个大于1的常数,使用原图像中的一部分低频分量进入高频区域,而在高频滤波后被保留下来,从而不仅保持一些光滑区域灰度,又使边缘得到增强,而且整幅图像的层次也较丰富,不那么昏暗了。

总的来说高频强调滤波方法是保留了高频分量的同时,加入了背景的低频分量。

 

三、代码展示:

% 1、对lena图像采用高频强调滤波增强方法,
%    并分析方法的效果。(理想、巴特沃斯、高斯)
%    其结果好不好?能否有改善的方法?
%
% @author: jackma
% @time:   2020-10-19 10:15
% @URL:    www.jackrma.com
% @Copyright:博客所有权归本人和CSDN所有,如有转载请在显著位置给出博文
%            链接和作者姓名,否则本人将付诸法律。
% @edit:   

% 1. Lena图像采用高频强调滤波增强方法
clc
clear
imgrgb = imread('x.jpg'); %读取彩色图像
f = rgb2gray(imgrgb); %将rgb图像转换成灰度图像
subplot(2, 2, 1);
imshow(f)
title('原始图像')

%高斯高通滤波
I = double(f);
g = fft2(I);%二维傅立叶变换
g = fftshift(g);%频移
[M, N] = size(g);
D0 = 5;%截止频率为5
m = fix(M / 2); n = fix(N / 2);

for i = 1:M

    for j = 1:N
        D = sqrt((i - m)^2 + (j - n)^2);
        H = exp(-(D.^2) ./ (2 * (D0^2)));
        result(i, j) = (1 - H) * g(i, j);
    end

end

result = ifftshift(result);
J1 = ifft2(result);
J2 = uint8(real(J1));
subplot(2, 2, 2);
imshow(J2)
title('高斯高通滤波后的图像')

%高频强调滤波
F = 0.5 + 0.75 * (1 - H);
G = F * g;
result2 = ifftshift(G);
J3 = ifft2(result2);
J4 = uint8(real(J3));
subplot(2, 2, 3)
imshow(J4)
title('高频强调滤波后的图像')

%对高频强调滤波后图像进行直方图均衡化
J5 = histeq(J4, 256);
J5 = uint8(J5);
subplot(2, 2, 4);
imshow(J5)
title('直方图均衡化后的图像')

%%%%%巴特沃斯高通滤波
figure('Name', '图像加入巴特沃斯高通滤波'); %标题
[M, N] = size(f);
a = fft2(f);
a = fftshift(a);
m1 = fix(M / 2); n1 = fix(N / 2);

for u = 1:M

    for v = 1:N
        D1 = sqrt((u - m1)^2 + (v - n1)^2);

        if D1 == 0
            H1(u, v) = 0;
        else
            %    H(u,v)=1/(1+0.414*(500/D1)^4);%截至频率为500
            H1(u, v) = 1 / (1 + (500 / D1)^4); %2阶巴特沃斯高通滤波器,截至频率为500
        end

    end

end

F1 = H1 .* a;
F1 = ifftshift(F1);
I2 = abs(ifft2(F1));
subplot(2, 2, 1);
imshow(f)
title('原始图像')
subplot(2, 2, 2);
imshow(I2)
title('巴特沃斯高通滤波后的图像')

%高频强调滤波
FF = 0.5 + 0.75 * (1 - H1);
G1 = FF .* a;
result3 = ifftshift(G1);
J8 = ifft2(result3);
J9 = uint8(real(J8));
subplot(2, 2, 3)
imshow(J9)
title('高频强调滤波后的图像')

%对高频强调滤波后图像进行直方图均衡化
J10 = histeq(J9, 256);
J10 = uint8(J10);
subplot(2, 2, 4);
imshow(J10)
title('直方图均衡化后的图像')

四、结果展示及分析:

图1 原始灰度图像和高斯高通滤波的图像,使用高频强调滤波增强图像

图2 原始灰度图像和巴特沃斯高通滤波的图像,使用高频强调滤波增强图像

显然通过图像对比可得,高频强调滤波增强和直方图均衡化效果远比高斯高通滤波和巴特沃斯高通滤波效果好,背景更加清晰。

  • 21
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
图像理想高通滤波器图像巴特沃斯高通滤波器图像高斯高通滤波器都是数字图像处理中常用的滤波器。它们的作用都是去除图像中低频成分,突出高频细节,从而增强图像的清晰度和轮廓。 1. 图像理想高通滤波器 图像理想高通滤波器又称为理想带阻滤波器,其原理是将图像的低频成分完全剔除,只保留高频成分。理想高通滤波器的频率响应是一个矩形,即在截止频率之外完全通过,而在截止频率之内完全抑制。因为理想高通滤波器的截止频率突变,会引起图像的振铃现象,所以在实际应用中,通常会采用巴特沃斯高通滤波器高斯高通滤波器来代替。 2. 图像巴特沃斯高通滤波器 图像巴特沃斯高通滤波器是一种常用的数字滤波器,它采用巴特沃斯函数来设计高通滤波器,能够有效地剔除图像中低频成分。巴特沃斯高通滤波器的频率响应是一个平滑的曲线,可以有效地避免理想高通滤波器的振铃现象。巴特沃斯高通滤波器的截止频率越高,对图像高频细节的增强效果就越明显,但同时也会导致图像噪声的增加。 3. 图像高斯高通滤波器 图像高斯高通滤波器是一种基于高斯函数的滤波器,可以平滑图像的低频成分,保留高频成分。高斯高通滤波器的频率响应是一个钟形曲线,截止频率越高,高频细节的增强效果就越明显。与巴特沃斯高通滤波器不同的是,高斯高通滤波器可以在增强高频细节的同时,有效地抑制图像噪声,因此在图像处理中应用较为广泛。 三种滤波器的对比: 1. 频率响应 理想高通滤波器的频率响应是一个矩形,巴特沃斯高斯高通滤波器的频率响应是平滑的曲线。在频率响应上,高斯高通滤波器的曲线最为平滑,因此在滤波效果上相对更加平滑。 2. 滤波效果 理想高通滤波器能够完全去除低频成分,但会引起振铃现象;巴特沃斯高通滤波器对低频成分的抑制相对平滑,可以避免振铃现象;高斯高通滤波器不仅能够平滑地去除低频成分,还能有效地抑制噪声,因此在滤波效果上更为优秀。 3. 计算复杂度 理想高通滤波器的计算复杂度较低,但会引起振铃现象;巴特沃斯高通滤波器高斯高通滤波器的计算复杂度相对较高,但能够避免理想高通滤波器的振铃现象。 总之,三种滤波器各有优缺点,在实际应用中需要根据具体情况选择适合的滤波器,以达到最佳的滤波效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值