一,空域滤波器
空域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。空域低通滤波器是应用模板卷积方法对图像每一像素进行局部处理。模板就是一个滤波器,设它的响应为 w(s,t) ,于是滤波输出的数字图像g(x,y)可以用离散卷积表示

1.1空域低通滤波器

1.1.1平滑滤波器

f=imread('C:/experiment/test1.jpg');
>> f=rgb2gray(f);
>> J = imnoise(f,'salt & pepper',0.02);
>> subplot(131),imshow(f);title('原图');
>> subplot(132),imshow(J);title('加入椒盐噪声');
>> k1=filter2(fspecial('average',3),J);
>> subplot(133),imshow(uint8(k1));title('3*3平滑滤波');

平滑滤波的结果

1.1.2中值滤波器

 k2=medfilt2(J);
>> subplot(133),imshow(uint8(k2));title('中值滤波');

中值滤波的结果

1.1.3高斯滤波器

t=imnoise(f,'gaussian');
>> subplot(131),imshow(f);title('原图');
>> subplot(132),imshow(t);title('加入高斯噪声');
>> h=fspecial('gaussian');
>> g=filter2(h,t,'same');
>> subplot(131),imshow(f);title('原图');
>> subplot(132),imshow(t);title('加入高斯噪声');
>> subplot(133),imshow(uint8(g));title('高斯滤波');

空域高斯滤波的结果

1.2空域高通滤波器

f=imread('C:/experiment/test1.jpg');
>> f=rgb2gray(f);
>> f=im2double(f);
>> [height width R]=size(f);
>> for i=2:height-1for j=2:width-1R(i,j)=abs(f(i+1,j+1)-f(i,j))+abs(f(i+1,j)-f(i,j+1));
end
end
>> T=R;
>> for i=1:height-1
for j=1:width-1
if (R(i,j)<0.25)
R(i,j)=1;
else R(i,j)=0;
end
end
end
>> subplot(121),imshow(f);
>> subplot(122),imshow(R);

空域高通滤波对人物图像的结果

空域高通滤波对建筑物图像的结果

二、频域滤波器
频域滤波是图像经傅里叶变换以后,边缘和其他尖锐变化(如噪音)在图像的灰度级中主要处于傅里叶变换的高频部分。因此,平滑可以通过衰减指定图像傅里叶变换中高频成分的范围来实现。频域低通滤波的数学表达式为:G(u,v)= H(u,v)F(u,v)
其中F(u,v)是原始图像f(x,y)的傅里叶变换;G(u,v)是低通滤波处理后的图像g(x,y)的傅里叶变换;H(u,v)是频域低通滤波器的传递函数,选择不同的H(u,v) 可产生不同的平滑效果。

2.1频域低通滤波器

f=imread('C:/experiment/test1.jpg');
>> f=rgb2gray(f);
>> t=imnoise(f,'gaussian');
>> s=fftshift(fft2(t));
>> imshow(log(1+abs(s)),[]);
>> [M,N]=size(s);
>> d0=50;
>> n1=floor(M/2);
>> n2=floor(N/2);
>> for i=1:M
for j=1:N
d=sqrt((i-n1)*2+(j-n2)*2);
h(i,j)=1*exp(-1/2*(d^2/d0^2));
s(i,j)=h(i,j)*s(i,j);
end
end
>> s=ifftshift(s);
>> s=uint8(real(ifft2(s)));
>> imshow(s);
>> figure,imshow(t);

得到的图像加噪后的FFT,加噪后的图像,滤波后的图像如下:

2.2频域高通滤波器

f=imread('C:/experiment/test1.jpg');
f=rgb2gray(f);
>> F=double(f);
G=fft2(F);
G=fftshift(G);
[M,N]=size(G);
nn=2;
d0=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);
if(d==0)
h==0;
else
h=1/(1+0.414*(d0/d)^(2*nn));
end
result(i,j)=h*G(i,j);
end
end
>> result=ifftshift(result);
>> J2=ifft2(result);
>> J3=uint8(real(J2));
> subplot(121),imshow(f),title('原图像');
>> subplot(122),imshow(J3),title('高通滤波后的图像');

频域高通滤波对人物图像处理的结果

频域高通滤波对建筑物图像处理的结果

空域滤波和频域滤波的比较
通过比较以上空域、频域低通滤波器对同一图片的滤波效果可知,使用空间域滤波和频域滤波对存在图像噪声有一定的减弱作用和对边缘的检测效果。
而空域滤波和频域滤波之间有存在着各自的特点,从空域和频域低通滤波器对图片的滤波效果来看,空域滤波中,平滑滤波器算法简单,处理速度快,但在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。而中值滤波器对椒盐噪声的抑制比较好,但对点,线较多的图像不太合适。空域低通滤波对椒盐噪声过滤效果较差,图像较为模糊。而在频域滤波中,去噪的同时将会导致图像边缘信息损失而使图像边缘模糊,并且存在振铃效应,而且计算量大,计算时间长。
从空域和频域高通滤波器对图片的滤波效果来看,空域滤波的算法比较简单,处理速度快,在锐化方面效果明显,线条突出;频域滤波中,算法复杂,计算慢,由些许振铃效应,图像效果显示比较平缓。

频域和空域滤波的比较相关推荐

  1. 【图像去噪】基于空域和频域两种滤波实现图像去噪含Matlab源码

    1 简介 本文是基于MATLAB的GUI来对不同的(彩色或灰色)图像进行图像增强的相关处理,主要包括以下四点: 频域变换:傅里叶变换和离散余弦变换及其反变换,可将图像在空域上的特性转化到频域上: 叠加 ...

  2. 图像增强实战:空域滤波、频域滤波和退化恢复滤波器(附全部代码)

    Airshow 图像增强 一.设计背景 受天气状况.空气质量.成像距离.成像设备性能.相对运动等多种因素的影响,2022 年 11 月第十四届中国国际航空航天博览会现场的空中飞行表演的图像存在退化和不 ...

  3. 数字图像-6空域滤波

    空域处理 基本概念: 理论基础--线性系统响应:卷积理论 卷积的离散表达式,基本上可以理解为模板运算的数学表达式 由此,卷积的冲击响应函数h(x,y),称为空域卷积模板. 空域滤波及滤波器的定义 使用 ...

  4. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

    频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...

  5. C语言数字图像处理---2.3图像空域滤波

    本文主要给大家讲解图像空间域滤波的相关内容,包括空域滤波概念,以及常用的空域滤波算法,并通过C语言编程来实现几种常用空域滤波(均值滤波.中值滤波.最大值滤波.最小值滤波.高斯滤波和统计滤波),帮助初学 ...

  6. 【数字图像处理】经典空域滤波算法

    目录 1. 时域.空域.频域 2. 低通(LPF)和高通(HPF) 3. 空域滤波算法 3.1 均值滤波(Mean Filter) 3.2 高斯滤波(Gaussian Filter) 3.3 双边滤波 ...

  7. 【OpenCV图像处理】十五、图像空域滤波(上)

    1.空域滤波介绍 空域滤波是一种邻域处理方法,通过直接在图像空间中对邻域内像素进行处理,达到平滑或锐化图像的作用.此外,在图像识别中,通过滤波还可以抽出图像的特征作为图像识别的特征模式. 空域滤波是图 ...

  8. 图像增强---空域滤波之平滑

    目录 一.空域滤波基础 1.定义 2.卷积理论 3.空域滤波及滤波器的定义 4.线性滤波器 5.非线性滤波器 二.平滑滤波器 1.主要用途 2.设计 3.中值滤波 4.均值滤波 5.方形滤波 6.高斯 ...

  9. 第三章、空域滤波(空域滤波基础)

    一.空域滤波基础 1.理论基础 线性系统响应:卷积理论 1.卷积的离散表达式,基本上可以理解为模板地数学表达式 2.卷积的冲击响应函数h(x,y),称为空域卷积模板. 2.卷积 输出 = 输入 * 系 ...

最新文章

  1. 网站单页面SEO关键词该如何布局更好?
  2. (JAVA)hashcode
  3. 应用商店应用计算机,基于中国虹计算机的应用商店的设计与实现
  4. CSS3实现轮播图效果
  5. C++多线程函数_beginthread/_beginthreadex/CreateThread
  6. 人脸检测高级:疲劳检测
  7. 阿里云盘 网页版地址 阿里云盘pc版 阿里云盘下载
  8. 人力资源面试必问的十大问题
  9. AttributeError: module ‘tushare‘ has no attribute ‘get_k_data‘报错解决方法
  10. imToken—钱包如何导出助记词?
  11. Error while importing package: Couldn’t decompress package
  12. 白鹭小游戏-成语挑战-资源放置
  13. jack 服务常见错误解决方法
  14. The Fifty-second Of Word-Day
  15. 【Codecs系列】视频会议中的AV1编解码器
  16. html meter做个C盘,HTML基础教程:meter标签详细讲解
  17. 平安汽车租赁有话说:汽车融资租赁,被误解的那些年...
  18. 计算机系是什么学位_您拥有计算机科学学位可以做什么?
  19. 如何控制客户端访问oracle9i的ip地址
  20. Python 学习 --- 基础知识

热门文章

  1. 教师资格证(中学)需要准备多长时间?
  2. GIT篇—如何使用gitee+git下载代码到本地(一)
  3. 选股攻略深度分析之选股攻略重点介绍
  4. 【音乐合成】基于FPGA的音乐合成系统verilog实现
  5. [转载]俄罗斯只剩“大国的脾气”
  6. android字符串中提取手机号
  7. 大白话告诉你Elasticsearch到底是干嘛的?
  8. 使用py2exe生成一个exe文件
  9. svga插件_【SVGA扩展】在AE或Animate中导出SVGA文件的设计师工具(mac+win)及安装教程...
  10. 如何办理移动飞享8元套餐--【已失效】