噪声图像的三种低通滤波演示系统
理想低通滤波器(ILPF):
二维理想低通滤波器的传递函数H(u,v)为:
式中:为理想低通滤波器的截止颗率,是一个规定非负的量,这里理想是指小于等于的题率可以完全不受影响地通过滤波器,而大于的频率则完全通不过,因此也叫截断频率。这种理想低通滤波器尽管在计算机中可模拟实现,但理想低通滤波器无使用实际的电子器件硬件实现这种从1到0陡峭突变的截断频率。是从频率平面上点(u,v)到频率平面原点(0,0)的距离。
巴特沃斯低通滤波器(BLPF):
n阶巴特沃斯低通滤波器(BLPE),它的传递函数为:
当,n=1时, 在 处的值降为其最大值的1/2。
它的另一种巴特沃斯低通滤波器传递函数为:
巴特沃斯低通法波器传递函数特性为连续性衰减,而不像ILPF理想低通滤波那样是陡峭和明显的不连续性衰减。在它的尾部保留有较多的高频,所以对噪声的平滑效果不如HLPE。采用该滤波器在抑制噪声的同时,图像边缘的模糊程度大大减木,振铃效应不明显。
指数型低通滤波器(ELPF):
指数型低通滤波器(ELPE),它的传递函数为:
式中为截止频率,n为阶数。当,n=1时,对于式(3.1),降为最大值的1/e;对于式(3.2),降为最大值的,所以两者的衰减特征性仍有不同。由于ELPF具有比较平滑的过滤带,经此平滑后的图像没有“振铃”现象,而与巴特沃斯滤波相比,它更具有更快的衰减特性,处理的图像稍微模糊一些。通法波器传递函数特性为连续性衰减,而不像ILPF理想低通滤波那样是陡峭和明显的不连续性衰减。在它的尾部保留有较多的高频,所以对噪声的平滑效果不如HLPE。采用该滤波器在抑制噪声的同时,图像边缘的模糊程度大大减木,振铃效应不明显。
梯形低通滤波器(TLPF):
梯形低通滤波器(TLPF)的传递函数为:
式中:为梯形低通滤波器的截至频率。 和 按要求预先指定为,它的性能介于理想低通滤波器与巴特沃斯低通滤波器之间,对图像有一定的模糊和振铃效应。
实验步骤
1.GUI界面设计:
(1)打开guidequick start窗口,生成新的fig文件
(2)可视化的窗口设计,在窗口中拖入几个按钮用于交互程序的事件触发,如下图1,图2:
图 1
图 2
2.频率滤波基本步骤:
(1)给定一幅大小为m*n的图像f(x,y)。选择适当的填充参数P和Q,一般令P = 2m,Q = 2n。
(2) 对图像f(x, y)填充0,填充后得到图像大小为P*Q的图像fp(x,y)。
(3)用(-1)^(x+y)乘以fp(x,y)将其移到变换中心(中心化)。
(4)计算fp(x,y)的DFT,得到F(u,v)。
(5)生成一个实的,对称的滤波函数H(u, v),大小为P*Q,中心在(P/2, Q/2)处。然后相乘(矩阵点乘)得到G(u,v) = H(u,v)F(u,v)。
(6)对G(u, v)反傅里叶变换,然后取实部,再乘以(-1)^(x+y)进行反中心变换最后得到gp(x,y)。
(7)提取gp(x,y)左上角的m*n区域,对提取的部分进行标准化处理,得到最终的结果图像g(x,y)。
实验结果
相关代码:
(1)“高斯低通滤波”按钮
function noisyy_Callback(hObject, eventdata, handles)
% hObject handle to noisyy (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes2);
global S
global Image2
g=imnoise(S,'gaussian',0.01);
imshow(g);
Image2=g;
title('噪声处理');
(2)巴特沃斯低通滤波按钮
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes2);
global S
global Image2
I=im2double(S);
M=2*size(I,1); %滤波器行数
N=2*size(I,2); %滤波器列数
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=50;
n=6;
H=1./(1+(D./D0).^(2*n)); %构造巴特沃斯滤波器
J=fftshift(fft2(I,size(H,1),size(H,2))); %转换到频域
K=J.* H;
L=ifft2(ifftshift(K)); %傅里叶反变换
L=L(1:size(I,1),1:size(I,2));
imshow(L);
Image2=L;title('巴特沃斯');
(3)“理想低通滤波”按钮
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes2);
global S
global Image2
I=im2double(S);
M=2*size(I,1); %滤波器行数
N=2*size(I,2); %滤波器列数
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=80; %截止频率设置为80
H=double(D<=D0); %理想低通滤波器
J=fftshift(fft2(I,size(H,1),size(H,2))); %时域图像转换到频域
K=J.*H; %滤波处理
L=ifft2(ifftshift(K)); %傅里叶反变换
L=L(1:size(I,1),1:size(I,2));
%figure;
imshow(L); %显示滤波后的图像
Image2=L;title('理想滤波¨');
(4)“梯形低通滤波”按钮
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes2);
global S
global Image2
IA=im2double(S);
[f1,f2]=freqspace(size(IA),'meshgrid');
%D=1020/size (IA,1) ;
D0=0.1 ;
D1=0.4;
r=sqrt (f1.^2+f2.*2) ;
Hd=zeros (size (IA)) ;
Hd(r<D0)=1;
Y= fft2 (double (IA)) ;
Y= fftshift (Y) ;
Ya=Y.*Hd;
Ya=ifftshift (Ya) ;
L= real (ifft2 (Ya)) ;
imshow (uint8(L)) ;
imshow(L); %显示滤波后的图像
Image2=L;title('梯形滤波');
(5)“导入”按钮
function btn_show_Callback(hObject, eventdata, handles)
% hObject handle to btn_show (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename,pathname]=uigetfile({'*.bmp;*.jpg;*.png;*.jpeg;*.tif','文件类型(*.bmp,*.jpg,*.png,*.jpeg,*.tif)';'*.*', '所有文件(*.*)'},'Pick an image');
axes(handles.axes1); %用axes命令设定当前操作的坐标轴为axes1;
fpath=[pathname filename]; %将文件名和目录组成一个完整的路径
Image=imread(fpath);
global S
S = Image;
imshow(Image);
set(handles.pushbutton1,'Enable','on'); %使其在打开命令使用后,可继续使用,放在最后。
guidata(hObject,handles); %用来更新句柄
运行结果:
1.高斯噪声处理:
图 3
图 4(高斯噪声处理后)
2.巴特沃斯低通滤波:
图 5
图 6(巴特沃斯低通滤波处理后)
3.理想低通滤波:
图 7
图 8(理想低通滤波处理后)
4.梯形低通滤波:
图 9
图 9(梯形低通滤波处理后)
(1)低通滤波器滤除了高频成分,所以使得图像模糊。由于理想低通滤波器的过度特性过于急峻,会产生了振铃现象。
(2)巴特沃低通滤波对噪声的平滑效果不如理想低通滤波,采用该滤波器在抑制噪声的同时,图像边缘的模糊程度大大减小,振铃效果不明显。
(3)梯形低通滤波器对图像有一定的模糊和振铃效果。
噪声图像的三种低通滤波演示系统相关推荐
- 图像降噪算法——高斯低通滤波
图像降噪算法--高斯低通滤波 图像降噪算法--高斯低通滤波 1. 基本原理 2. C++代码实现 3. 结论 图像降噪算法--高斯低通滤波 1. 基本原理 通过离散傅里叶变换对图像进行滤波流程作非常简 ...
- python-opencv图像的高通滤波和低通滤波
13.python-opencv图像的高通滤波和低通滤波 第一章 python-opencv-图片导入和显示 第二章 python-opencv图像简单处理 第三章 python-opencv图像ma ...
- 数字图像处理学习笔记5:频率域滤波1(傅里叶频谱图,低通滤波-平滑,高通滤波-锐化)
文章目录 前言 一.傅里叶变换:傅里叶频谱图 二.低通滤波 1.理想低通滤波 2.布特沃斯低通滤波 3.高斯低通滤波 4.小结 三.高通滤波 1.理想高通滤波 2.布特沃斯高通滤波 3.高斯高通滤波 ...
- 图像去噪 + 低通滤波 opencv
低通滤波:均值滤波.中值滤波.高斯滤波.双边滤波 高通滤波:sobel,scharr,Laplacian 一.低通滤波 任何图像都是由不同尺度的空间信息组成的,假设我们处理一幅图像(fig.1 左) ...
- 【数字图像处理2.1 】频率域中的 高通滤波 和 低通滤波 Python+Opencv+Numpy
文章目录 前言 1.实验目的 2.频率域中高通.低通的效果图 3.代码 4.空间域滤波 与 频率域滤波比较 (1).回顾空间滤波 (2).相同点: (3).不同点: (4).二者关系: 前言 1.图像 ...
- OPENCV计算机视觉图像处理频域傅里叶 DFT 变换低通滤波逆变换IDFT
OpenCV计算机视觉图像频域傅里叶 DFT 变换低通滤波逆变换IDFT 实验室做图像的,经常用到这部分,为了检测屏幕,看过好多博客,试用过许多代码,这个算是我找到的比较好用的,也容易改. 傅里叶变换 ...
- matlab 图像 幅度谱 低通滤波_数字图像处理期末复习2018-12-21
数字图像处理期末复习2018-12-21 愉快先生 0.204 · 字数 5547 · 阅读 1834 2018-12-22 19:35 (数字图像冈萨雷斯第二版教材) 一.基本原理 图像的读取.存储 ...
- 图像 理想低通滤波_图像处理之滤波(下)
[toc]目录 一.常规滤波 低通 高通 带通 带阻 二.非局部均值滤波 三.维纳滤波 四.卡尔曼滤波 前言 所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号. 信号的分类: 确定型信号, ...
- Opencv_13 图像滤波(低通滤波图像平滑去噪)
文章目录 一. 图像滤波简介 ① 为什么图像是波? ② 图像的频率 ③ 滤波器 二. 低通滤波之线性滤波 ① 方框滤波 ② 均值滤波 ③ 高斯滤波 三. 低通滤波之非线性滤波中值滤波 ① 中值滤波简介 ...
最新文章
- linux sed删除文件最后一行及shell中单引号、双引号的区别
- qtp连接mysql 无驱动_QTP连接MySQL
- 最近想读的书想做的事
- [GAN学习系列2] GAN的起源
- 把握数据库发展趋势 DBA应如何避免“踩坑”?
- 冲刺阶段一 11.15--11.21
- 计算两日期之间差多少天----日期格式为:yyyy-mm-dd
- java synchronized 类锁_【java】synchronized对象锁和类锁简介【图文教程】
- mysql 2049_mysql数据库备份与还原,解决40101和ERROR 2049错误
- idea 无法新建工程
- 移动端图形化报表界面设计_移动端报表设计-帆软
- python基于flask_sockets实现WebSocket——叁
- 百度地图android wear,Android Wear多款搜狗地图标注内置
- 域用户登录方法在计算机上不被允许,域管理员不允许本地交互式登陆的解决方法...
- 如何批量查询谷歌PR权重是多少?谷歌PR权重怎么批量查询
- python代码解释4个作用域_Python中作用域的深入讲解
- flex 垂直方向 两端对齐
- ZooKeeper之服务器地址列表。
- Linux bash shell 编程笔记(基础篇)
- linux 在线和离线安装Mplayer视频播放器