一、前言

高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是使图像得到锐化处理,突出图像的边界。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质量可能由于噪声严重而难以达到满意的改善效果。为了既加强图像的细节又抑制噪声,可采用高频加强滤波。这种滤波器实际上是由一个高通滤波器和一个全通滤波器构成的,这样便能在高通滤波的基础上保留低频信息。

高通滤波可以分为理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器。对于大小为M*N的图像,频率点(u,v)与频域中心的距离为D(u,v),其表达式为:

二、理想高通滤波器(IHPF)

1、基本定义

理想高通滤波器的产生公式为:

其中D0为理想高通滤波器的截止频率,注意与理想高通滤波器的表达式区别在于将0和1交换而条件不变

2、matlab实现理想高通滤波器

(1)实现代码:

close all;
clear all;
clc;
I = imread('coins.png');subplot(121),imshow(I);
title('原始图像');% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d0=50; % 将理想高通滤波器的截止频率D0设置为50
for i=1:a %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(a/2)^2+(j-round(b/2)^2))for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2);if distance<=d0  % 根据理想高通滤波器产生公式,当D(i,j)<=D0,置为0h=0;elseh=1;        % 根据理想高通滤波器产生公式,当D(i,j)>D0,置为1ends(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数end
end
% real函数取元素的实部
s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(122),imshow(s,[]);
title('理想高通滤波所得图像');

(2)实现效果:

三、巴特沃斯高通滤波器(BHPF)

1、基本定义

巴特沃斯高通滤波器的产生公式为:

其中D0为巴特沃斯高通滤波器的截止频率,注意与巴特沃斯低通滤波器的表达式区别在于将分母的D0和D(u,v)交换位置

2、matlab实现巴特沃斯高通滤波器

(1)实现代码:

close all;
clear all;
clc;
I = imread('coins.png');subplot(121),imshow(I);
title('原始图像');% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[N1,N2]=size(s);%求二维傅里叶变换后图像大小
n=2;            % 将巴特沃斯高通滤波器的阶数n设置为2
d0=30;          % 将巴特沃斯高通滤波器的截止频率D0设置为30
n1=round(N1/2);
n2=round(N2/2);
for i=1:N1      %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(N1/2)^2+(j-round(N2/2)^2))for j=1:N2 distance=sqrt((i-n1)^2+(j-n2)^2);if distance==0 h=0; elseh=1/(1+(d0/distance)^(2*n));% 根据巴特沃斯高通滤波器公式为1/(1+[D0/D(i,j)]^2n)ends(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数end
end
% real函数取元素的实部
s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(122),imshow(s,[]);
title('Butterworth高通滤波图像');

(2)实现效果:

四、高斯高通滤波器(GHPF)

1、基本定义

高斯高通滤波器的产生公式为:

其中D0为高斯高通滤波器的截止频率,注意与高斯低通滤波器的表达式区别在于使用1减去表达式

2、matlab实现高斯高通滤波器

(1)实现代码:

close all;
clear all;
clc;
I = imread('coins.png');subplot(121),imshow(I);
title('原始图像');% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
d0=10; % 将高斯高通滤波器的截止频率D0设置为10
a0=round(a/2);
b0=round(b/2);
for i=1:afor j=1:bdistance=sqrt((i-a0)^2+(j-b0)^2);    % 根据高斯高通滤波器公式H(u,v)=e^-[D^2(u,v)/2*D0^2] h=1-(exp(-(distance^2)/(2*(d0^2)))); % exp表示以e为底的指数函数s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数end
ends=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(122),imshow(s,[]);
title('高斯高通滤波图像');

(2)实现效果:

由于刚刚开始学习图像处理,对于很多知识理解不到位。如有错误,恳请指正,任重而道远,慢慢加油!

图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现相关推荐

  1. 图像处理频域锐化(理想和巴特沃斯)

    图像频域平滑(锐化):选择一幅图像,例如rice.png,分别使用理想高通滤波器.巴特沃斯高通滤波器.指数高通滤波器和梯形高通滤波器(至少使用两种高通滤波器),显示滤波前后的频域能量分布图,空间图像. ...

  2. matalb 图像处理 低通滤波和高通滤波 (理想,巴特沃斯,高斯 含代码)

    低通滤波和高通滤波 主要类型和公式 主要效果图 各类型的函数代码 最终比较代码 主要类型和公式 1.低通滤波 主要分为理想低通滤波,巴特沃斯低通滤波,高斯低通滤波 理想低通滤波: 其中:对于大小为M* ...

  3. 5.6.3 高通滤波(理想高通滤波+巴特沃斯高通滤波)

    1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...

  4. 理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器

    低通滤波器 1.理想的低通滤波器 其中,D0表示通带的半径.D(u,v)的计算方式也就是两点间的距离,很简单就能得到. 使用低通滤波器所得到的结果如下所示.低通滤波器滤除了高频成分,所以使得图像模糊. ...

  5. IIR滤波器设计代码(巴特沃斯+脉冲响应不变法/双线性变换法) Matlab代码

    引言 说实话我感觉自己滤波器不算学到位了,一般来说我是需要把整个过程都弄得非常清楚,但是这个模拟滤波器设计是真的麻烦,至少我现在不确定以后会从事DSP相关的内容,就没有对细节考量,但或许也没谁会对它去 ...

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

    一.目标: 对lena图像采用高频强调滤波增强方法,并分析方法的效果.(理想.巴特沃斯.高斯).其结果好不好?能否有改善的方法? 二.函数分析: 1.高斯高通滤波器 传递函数: 高斯低通滤波器 传递函 ...

  7. 巴特沃斯滤波器、切比雪夫、椭圆滤波

    滤波器概述 滤波器的作用就是过滤波形,过滤掉不需要的波形成分,与在时间上截取某一部分波形相区别,这个波形成分一般用频率来描述,也可以用模拟角频率核数字角频率来描述.从滤波器的通带范围可以分为低通.高通 ...

  8. 【老生谈算法】matlab实现巴特沃斯IIR滤波器程序设计源码

    matlab巴特沃斯IIR滤波器程序设计 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab巴特沃斯IIR滤波器程序 ...

  9. 第4章 Python 数字图像处理(DIP) - 频率域滤波10 - 使用低通频率域滤波器平滑图像 - 理想、高斯、巴特沃斯低通滤波器

    目录 使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 高斯低通滤波器(GLPF) 巴特沃斯低通滤波器 低通滤波的例子 使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 在以原点为中心 ...

最新文章

  1. 为什么双层循环 冒泡排序_冒泡排序的双重循环理解
  2. Spring Boot 2.0 新特性和发展方向
  3. android面试题总结加强版
  4. 法学教授:洋文凭情结是对教育体制的嘲弄
  5. windows和linux主机名,windows和linux下如何远程获取操作系统版本和主机名
  6. Kotlin实战指南十六:Synchronized、Volatile
  7. pop3 postfix 命令_Email基础知识: SMTP/POP3 命令简介
  8. Redis安装与配置( Windows10 )
  9. 【Python】ConvergenceWarning: Maximum number of iterations 200 reached. Increase it to improve...
  10. arguments.callee 调用自身
  11. R语言使用aggregate函数和median函数计算每个分组数据的中位数
  12. Windows 7 Service Pack 1已发布:但是您应该安装它吗?
  13. APP+spring boot校园购物网站 毕业设计-附源码041037
  14. Cocos Creator 基于 Spine 动画的 AVATAR 换装系统优化
  15. 电脑定时关机、取消定时关机、滑动关机
  16. Pytorch:torch.ge()、torch.gt()、torch.le()、torch.lt()
  17. DC EP要统一“ 世界度量衡”,数字货币打开财富大门
  18. [转载]家庭剧院音效再升级HDMI eARC相容未来效能
  19. 《率土之滨》高流水的背后秘诀:商业模式与系统分析
  20. 06.RPA uipath stadio 使用教程【excel操作】

热门文章

  1. Java的时间比较(粒度到天)
  2. 弹出启动windows安全中心服务器,如何解决Win7系统无法启动Windows安全中心的问题?...
  3. 南明区聚焦大数据产业助推经济转型升级纪实
  4. 网络订餐发展趋势(饿了么-饿了-你就来)
  5. java旅游管理开题答辩ppt_旅游管理学大学本科开题报告 开题报告怎么答辩
  6. 百问网物联网实战-串口设计
  7. Ansible的配置文件
  8. 学习OpenCV:滤镜系列(1)—— 雕刻浮雕
  9. 一人说一个亲测有效的生活小窍门
  10. MEGA训练自己的数据集-docker