2011-07-05 20:43:53 carson2005 阅读数 6132
  • Three.Js (WebGL ThreeJs) 网页3D实战视频教程

    通过一个的简单的ThreeJS示例(类似于射击小游戏)实操 ,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点. 课程主要知识点介绍: 1 Threejs三大组件,相机、渲染器和场景的介绍 2 在场景中如何创建几何体及一些旋转动画的实现,及对象的显示方式 3 控制相机向前,向后移动,向左,向右旋转 4 光源的介绍,及如何给场景添加不同的光源 5 怎样给不同的对象添加阴影 6 给对象添加材质,几种不同材质的区别及应用 7 贴图的种类及各种不同贴图的效果 8 自定义模型及其材质的加载及如何在场景对模型的定位 9 怎样场景切换,及对切换场景的管理loadingManager 10 通过for循环对多个对象的加载,克隆模型,这样可以拥有100个对象,所有对象都使用相同的几何体。 11 第一人称武器的视角控制 12 子弹的产生和发射效果 13 怎样实现定时器来控制子弹的发射频率 14 为武器添加有节奏的动作

    470 人正在学习 去看看 邓豪
       谈到频率域,就不得不说傅里叶变换了。傅里叶是18世纪法国的一位伟大的数学家。他最大的贡献在于指出任何周期函数都可以表示为不同频率的正弦和或者余弦和的形式,每个正弦或者余弦乘以不同的系数(也就是被大家所熟知的傅里叶级数)。无论函数有多复杂,只要它是周期性的,并且满足一定的数学条件,就一定可以用这样的正弦和或者余弦和的形式来表示。甚至在有些情况下,非周期函数也可以用正弦和或者余弦和的形式来表示。用傅里叶级数或变换表示的函数特征可以完全通过傅里叶反变换来重建,而不会丢失任何信息。而正是这些所谓的“傅里叶变换”使得我们可以工作于频率域。

单变量函数f(x)的傅里叶变换F(u)定义为:

  ,其中;相反,如果已知F(u),通过傅里叶反变换就可以获得f(x):

这两个式子组成了傅里叶变换对。另外,这两个式子可以很容易的扩展到两个变量uv

      1

      2

需要提醒的是,以上定义,是针对连续函数而言,而对于图像这种离散函数,需要用“离散傅里叶变换(DFT)”来进行表示:

   3

DFT的反变换定义为:

    4

为了计算式(3)中的F(u),首先在指数项中带入u=0,然后,将所有x值相加。对所有Mu值重复这一过程,从而可获得完整的傅里叶变换。

离散变换对的一个重要特征是,不像连续的情况,不必关心DFT或者它的反变换是否存在,因为它们总是存在的。因此,对于数字图像处理而言,离散变换或者其反变换的存在不是问题。

需要注意的是:根据欧拉公式:

     5

将(5)带入(3),并且  ,可得: 

   (6

其中,u=0,1,2,...,M-1;不难发现,傅里叶变换的每一项(对于每一个u值,F(u)的值)由函数f(x)的所有值组成。而f(x)的值则与各种频率的正弦值和余弦值相乘。因为u决定了变换的频率成分,所以被称为F(u)的频率域。一个恰当的比喻是将傅里叶变换看做是一个玻璃棱镜。棱镜可以将白色的光线分成不同颜色成分的仪器,每个成分的颜色由波长(或者频率)决定。傅里叶变换可以看做是“数学的棱镜”,将函数基于频率成分分为不同的成分。同样的道理,傅里叶变换使得我们可以通过频率成分来分析一个函数。

正如在复数的分析中那样,我们发现,有时在极坐标下表示F(u)很方便:

其中      7

上式称为傅里叶变换的幅度或者频率谱,同时:

    (8

上式称为傅里叶变换的相角或者相位谱。而R(u)I(u)分别是F(u)的实部和虚部。另外,有时候,我们会看到“功率谱”这个概念,它被定义为傅里叶变换的平方:

     9

需要注意的是:“谱密度”也用来指代功率谱。

2018-06-21 17:03:00 u011752195 阅读数 196
  • Three.Js (WebGL ThreeJs) 网页3D实战视频教程

    通过一个的简单的ThreeJS示例(类似于射击小游戏)实操 ,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点. 课程主要知识点介绍: 1 Threejs三大组件,相机、渲染器和场景的介绍 2 在场景中如何创建几何体及一些旋转动画的实现,及对象的显示方式 3 控制相机向前,向后移动,向左,向右旋转 4 光源的介绍,及如何给场景添加不同的光源 5 怎样给不同的对象添加阴影 6 给对象添加材质,几种不同材质的区别及应用 7 贴图的种类及各种不同贴图的效果 8 自定义模型及其材质的加载及如何在场景对模型的定位 9 怎样场景切换,及对切换场景的管理loadingManager 10 通过for循环对多个对象的加载,克隆模型,这样可以拥有100个对象,所有对象都使用相同的几何体。 11 第一人称武器的视角控制 12 子弹的产生和发射效果 13 怎样实现定时器来控制子弹的发射频率 14 为武器添加有节奏的动作

    470 人正在学习 去看看 邓豪

傅里叶变换

F=fft2(f,p,q) p,q为填充的尺寸(滤波需要)

傅里叶谱(元素幅度)S=abs(F)  imshow(S,[])

原点移到中心fc=fftshift(F)  (频域滤波不需要)

计算反正切(相角)phi=atan2(I,R)

空域滤波器获得频域滤波器

%频域滤波
f=imread('d.tif');
imshow(f,[])
F=fft2(f);
S=fftshift(log(1+abs(F)));
figure,imshow(S,[])
h=fspecial('sobel');
freqz2(h) %三维图
PQ=paddedsize(size(f)); %尺寸
H=freqz2(h,PQ(1),PQ(2));
H1=ifftshift(H);
imshow(abs(H),[])
figure,imshow(abs(H1),[])

%滤波后的空间域
gs=imfilter(f,h);%空间滤波
gf=dftfilt(f,H1)%频率滤波
figure,imshow(abs(gs)>0.2*abs(max(gs(:))))
figure,imshow(abs(gf)>0.2*abs(max(gf(:))))

 

频域直接生成滤波器

 

低通滤波(平滑)

%高斯低通滤波
f=imread('e.tif');
[f,revertclass]=tofloat(f);
PQ=paddedsize(size(f));
[u,v]=dftuv(PQ(1),PQ(2));
D=hypot(u,v); %计算到原点0,0距离 原点为中心用fftshift
D0=0.05*PQ(2);
F=fft2(f,PQ(1),PQ(2));%频域傅里叶
H=exp(-(D.^2)/(2*(D0^2)));%高斯低通滤波器
g=dftfilt(f,H);%滤波
g=revertclass(g);
figure,imshow(fftshift(H))
figure,imshow(log(1+abs(fftshift(F))),[])
figure,imshow(g)

 

线框及表面绘制

 

3D线框:mesh(H) mesh(H(1:k:end,1:k:end))

颜色colormap

网格grid off

轴axis off

观察点view(方位角,仰角)

 

高通滤波(锐化)

 理想高通滤波器IHPF
 巴特沃思高通滤波器BHBF
 高斯高通滤波器(GHPF的结果比BHBF和IHPF的结果更平滑)
 频率域的拉普拉斯算子
 钝化模板、高频提升滤波和高频加强 滤波

 

%高通滤波
f=imread('e.tif');
[f,revertclass]=tofloat(f);
PQ=paddedsize(size(f));
[u,v]=dftuv(PQ(1),PQ(2));
D=hypot(u,v); %计算到原点0,0距离 原点为中心用fftshift
D0=0.05*PQ(2);
H=hpfilter('gaussian',PQ(1),PQ(2),D0);
g=dftfilt(f,H);%滤波
figure,imshow(g)

 

 

 

高频强调滤波(高通滤波叠加平均灰度)

%高通滤波
f=imread('f.tif');
figure,imshow(f)
%[f,revertclass]=tofloat(f);
PQ=paddedsize(size(f));
[u,v]=dftuv(PQ(1),PQ(2));
D=hypot(u,v); %计算到原点0,0距离 原点为中心用fftshift
D0=0.05*PQ(2);
HBW=hpfilter('btw',PQ(1),PQ(2),D0,2);
H=0.5+2*HBW;
gbw=dftfilt(f,HBW);
gbw=gscale(gbw);%将灰度值自动缩放到0~255之间 
figure,subplot(221),imshow(gbw,[])
title('高通滤波图像'); 
ghw=histeq(gbw,256);
subplot(222),imshow(ghw,[])
title('高通均衡图像'); 
gbf=dftfilt(f,H);
gbf=gscale(gbf);
subplot(223),imshow(gbf,[])
title('强调后图像'); 
ghe=histeq(gbf,256);%直方图均衡化  
subplot(224),imshow(ghe,[])
title('强调均衡图像'); 

 

 

 

选择性滤波

带阻带通

陷波带阻 陷波带通

 

2017-04-25 10:45:00 weixin_30315905 阅读数 22
  • Three.Js (WebGL ThreeJs) 网页3D实战视频教程

    通过一个的简单的ThreeJS示例(类似于射击小游戏)实操 ,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点. 课程主要知识点介绍: 1 Threejs三大组件,相机、渲染器和场景的介绍 2 在场景中如何创建几何体及一些旋转动画的实现,及对象的显示方式 3 控制相机向前,向后移动,向左,向右旋转 4 光源的介绍,及如何给场景添加不同的光源 5 怎样给不同的对象添加阴影 6 给对象添加材质,几种不同材质的区别及应用 7 贴图的种类及各种不同贴图的效果 8 自定义模型及其材质的加载及如何在场景对模型的定位 9 怎样场景切换,及对切换场景的管理loadingManager 10 通过for循环对多个对象的加载,克隆模型,这样可以拥有100个对象,所有对象都使用相同的几何体。 11 第一人称武器的视角控制 12 子弹的产生和发射效果 13 怎样实现定时器来控制子弹的发射频率 14 为武器添加有节奏的动作

    470 人正在学习 去看看 邓豪

首先是一些傅里叶变换的基础知识:点我

滤波器:点我

转载于:https://www.cnblogs.com/cnblogs321114287/p/6760810.html

2018-06-23 22:53:18 Magic_Anthony 阅读数 1707
  • Three.Js (WebGL ThreeJs) 网页3D实战视频教程

    通过一个的简单的ThreeJS示例(类似于射击小游戏)实操 ,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点. 课程主要知识点介绍: 1 Threejs三大组件,相机、渲染器和场景的介绍 2 在场景中如何创建几何体及一些旋转动画的实现,及对象的显示方式 3 控制相机向前,向后移动,向左,向右旋转 4 光源的介绍,及如何给场景添加不同的光源 5 怎样给不同的对象添加阴影 6 给对象添加材质,几种不同材质的区别及应用 7 贴图的种类及各种不同贴图的效果 8 自定义模型及其材质的加载及如何在场景对模型的定位 9 怎样场景切换,及对切换场景的管理loadingManager 10 通过for循环对多个对象的加载,克隆模型,这样可以拥有100个对象,所有对象都使用相同的几何体。 11 第一人称武器的视角控制 12 子弹的产生和发射效果 13 怎样实现定时器来控制子弹的发射频率 14 为武器添加有节奏的动作

    470 人正在学习 去看看 邓豪

转自:http://blog.csdn.net/forrest02/article/details/55510711

频率域

在介绍频率域图像处理之前,先提几个问题。 
1.什么是频率域? 
2.为什么要在频率域中进行图像处理?

频率域的概念 
频率域是指从函数的频率角度出发分析函数,和频率域相对的是时间域。简单说就是如果从时间域分析信号时,时间是横坐标,振幅是纵坐标。而在频率域分析的时候则是频率是横坐标,振幅是纵坐标。 
举个例子,我们认为音乐是一个随着时间变化的震动。但是如果站在频域的角度上来讲,音乐是一个随着频率变化的震动,这样我们站在时间域的角度去观察你会发现音乐是静止的。同理,如果我们站在时间域的角度观察频率域的世界,就会发现世界是静止的,也是永恒的。这是因为在频率域是没有时间的概念的,那么也就没有了随着时间变化着的世界了。 
另外,我们需要借助傅立叶变换,才能够在得到函数在频率域中的信息。

为什么要在频率域中进行图像处理? 
1). 可以利用频率成分和图像外表之间的对应关系。一些在空间域表述困难的增强任务,在频率域中变得非常普通; 
2). 滤波在频率域更为直观,它可以解释空间域滤波的某些性质; 
3).可以在频率域指定滤波器,做反变换,然后在空间域使用结果滤波器作为空间域滤波器的指导

傅里叶变换

谈到频率域,就不得不说傅里叶变换了。傅里叶是18世纪法国的一位伟大的数学家。他最大的贡献在于指出任何周期函数都可以表示为不同频率的正弦和或者余弦和的形式,每个正弦或者余弦乘以不同的系数(也就是被大家所熟知的傅里叶级数)。无论函数有多复杂,只要它是周期性的,并且满足一定的数学条件,就一定可以用这样的正弦和或者余弦和的形式来表示。甚至在有些情况下,非周期函数也可以用正弦和或者余弦和的形式来表示。用傅里叶级数或变换表示的函数特征可以完全通过傅里叶反变换来重建,而不会丢失任何信息。而正是所谓的“傅里叶变换”使得我们可以工作于频率域。

一维连续函数的fourier变换

这里写图片描述 
其中,f(x)表示原函数,F(u)表示变换之后的函数。u为频率域变量。这里写图片描述

一维连续函数的fourier反变换 
这里写图片描述 
这里写图片描述

。。。公式编辑有点小麻烦,暂时先用截图吧。请允许我小小的偷懒。。。

注意前面讲过任何周期函数都可以被写成若干个正弦波(余弦波)的叠加。为了便于理解,在网上找了几张图片。 
这里写图片描述 
第一幅图是一个郁闷的余弦波cos(x) 
第二幅图是2个卖萌的余弦波的叠加cos(x)+a.cos(3x) 
第三幅图是4个“可爱”的余弦波的叠加 
第四幅图是10个“难受”的余弦波的叠加 
随着余弦波数量逐渐的增长,最终叠加成一个标准的矩形,大家从中体会到了什么?

这里写图片描述 
这里写图片描述 
f为原图像, 傅里叶变换函数。傅里叶变换将函数的时域(红色)与频域(蓝色)相关联。频谱中的不同成分。频率在频域中以峰值形式表示。 
//这里原图是一幅动态图,想看效果的朋友,请自行google傅立叶变换,weki上有动态图。

二维离散傅立叶变换

图像尺寸为M*N的函数f(x,y)DFT为

这里写图片描述 
其中,u=0,1,2,…,M-1;v=0,1,2,…,N-1 
给出F(u,v)由反DFT反变换可得到f(x,y)

这里写图片描述

傅立叶变换的基本概念:

1.频谱

这里写图片描述 
2.相位角

这里写图片描述

傅立叶变换的性质:

  1. 共轭对称性

    如果f(x,y)是实函数,则它的傅里叶变换具有 共轭对称性

这里写图片描述 
2 . 周期性

这里写图片描述

复习:当两个复数实部相等,虚部互为相反数时,这两个复数叫做互为共轭复数.

周期性和共轭对称性 
对于一维变换F(u),周期性是指F(u)的周期长度为M,对称性是指频谱关于原点对称

这里写图片描述 
通过将原点的变换值移动到频率矩形的中心位置,可简化频谱的 
视觉分析。这可以通过在计算一维傅立叶变换之前将f(x)乘以 (-1)^x 来完成。

周期性和共轭对称性举例 
这里写图片描述 
通过将原点的变换值移动到频率矩形的中心位置,可简化频谱的视觉分析。这可以通过在计算二维傅立叶变换之前将f(x,y)乘以这里写图片描述![这里写图片描述来完成。 
3. 平均值

由二维傅里叶变换的定义

这里写图片描述 
所以在原点的傅立叶变换等于图像f(x,y)的平均灰度级 
4. 卷积定理

空间域和频率域的基础都是卷积定理

大小为M×N的两个函数f(x,y)和h(x,y)的离散卷积

这里写图片描述 
卷积定理

这里写图片描述 
说明 第一个表达式表明: 
两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到。 
相反,两个空间函数卷积的傅立叶变换恰好等于两个函数的傅立叶变换的乘积

频率域滤波

低通滤波器:使低频通过而使高频衰减的滤波器 
1.被低通滤波的图像比原始图像少尖锐的细节部分而突出平滑过渡部分 
2.对比空间域滤波的平滑处理,如均值滤波器

高通滤波器:使高频通过而使低频衰减的滤波器 
1.被高通滤波的图像比原始图像少灰度级的平滑过渡而突出边缘等细节部分 
2.对比空间域的梯度算子、拉普拉斯算子

低通滤波器

这里写图片描述 
原图像的频谱 
这里写图片描述 
低通滤波器示意图 
这里写图片描述 
滤波效果 
这里写图片描述

说明:这里的低通滤波,意思就是把频率低的波留下,把频率高的波过滤掉。示意图是经过居中处理的频谱,就是从频谱的中心到四周频率由低到高。示意图表示的是,留下中间低频的,过滤点中心周围高频的部分。我们知道,低频对应的图像中变化不明显的部分,于是,图像就变的非常模糊。这在图像处理中也叫平滑滤波。再介绍一个概念:图像的锐化。就是与平滑化相对,即下面高通滤波器所达到的效果。很明显,图像边缘增强了。

高通滤波

原图 
这里写图片描述 
原图的频谱 
这里写图片描述 
高通滤波器示意图 
这里写图片描述 
效果图 
这里写图片描述 

2019-10-14 09:25:44 weixin_35732969 阅读数 1922
  • Three.Js (WebGL ThreeJs) 网页3D实战视频教程

    通过一个的简单的ThreeJS示例(类似于射击小游戏)实操 ,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点. 课程主要知识点介绍: 1 Threejs三大组件,相机、渲染器和场景的介绍 2 在场景中如何创建几何体及一些旋转动画的实现,及对象的显示方式 3 控制相机向前,向后移动,向左,向右旋转 4 光源的介绍,及如何给场景添加不同的光源 5 怎样给不同的对象添加阴影 6 给对象添加材质,几种不同材质的区别及应用 7 贴图的种类及各种不同贴图的效果 8 自定义模型及其材质的加载及如何在场景对模型的定位 9 怎样场景切换,及对切换场景的管理loadingManager 10 通过for循环对多个对象的加载,克隆模型,这样可以拥有100个对象,所有对象都使用相同的几何体。 11 第一人称武器的视角控制 12 子弹的产生和发射效果 13 怎样实现定时器来控制子弹的发射频率 14 为武器添加有节奏的动作

    470 人正在学习 去看看 邓豪

频率域基础请参考“图像处理之频率域数学基础”。

通过傅里叶变换,可以把图像从空间域转换到频率域。图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频率直接关系到图像空间灰度的变化率,低频对应于图像中变化缓慢的灰度,高频对应于图像中变化较快的灰度。一种解释是,频率对应的是傅里叶变换中的频率,频率越高,意味着正弦波变化得越快。

频率域滤波的基本过程是:修改一幅图像的傅里叶变换,然后计算其反变换得到处理后的结果。从而,得到基本滤波公式

g(x,y) = \mathfrak{F}^{-1}[H(u,v)F(u,v)]
\mathfrak{F}^{-1}是傅里叶反变换,F(u,v)是输入图像f(x,y)的DFT,H(u,v)是滤波函数(或滤波器,或滤波传递函数),g(x,y)是滤波后的输出图像。函数F,H,g是与输入图像大小相同的M*N阵列。H(u,v)和F(u,v)是阵列相乘(元素对应位置相乘)。这里我们将F(u,v)中心化后再处理,即在变换前使用(-1)^{x+y}乘输入图像来完成。

最简单的滤波器之一:变换的中心处是0,其他处是1。它抑制F(u,v)的直流项通过而通过其他所有项。因为直流项决定图像的平均灰度,将其置0将导致平均灰度为0,下图是一个例子(负灰度已置0):

为了得到滤波后的图像g(x,y),我们要确定滤波公式等号的右边部分。这里的方法是,在空间域对把图像f(x,y)0填充为P*Q大小,通过DFT得到F(u,v);然后,在频率域创建尺寸和填充过的图像一样的滤波器H(u,v)。

频率域滤波步骤

  1. 给定一幅M*N的输入图像f(x,y),根据“图像处理之频率域数学基础”中的方法得到填充参数P和Q;
  2. 对f(x,y)0填充,得到大小为P*Q的图像f_{p}(x,y)
  3. (-1)^{x+y}f_{p}(x,y)移到变换中心;
  4. 计算第3步图像的DFT,得到F(u,v);
  5. 生成一个实的、对称的大小为P*Q的滤波函数H(u,v),中心在(P/2,Q/2)处,用阵列相乘得到:G(u,v) = H(u,v)F(u,v);
  6. 得到处理后的图像:g_{p}(x,y) = \{real[\mathfrak{F}^{-1}[G(u,v)]]\}(-1)^{x+y},其中,real表示取实部,忽略因计算不准确导致的寄生复分量,下标p表示得到的是填充后的阵列;
  7. g_{p}(x,y)的左上象限提取M*N区域,得到最终处理结果g(x,y)。

补充:

DFT是复数阵列,可以表示为实部和虚部之和:

F(u,v) = R(u,v) + jI(u,v)

则滤波公式变为:

g(x,y) = \mathfrak{F}^{-1}[H(u,v)R(u,v)+jH(u,v)I(u,v)]

发现这种滤波不能改变相位角。我们称等同地影响实部和虚部而不影响相位的滤波器为零相移滤波器。

空间域和频率域滤波的对应

考虑一维高斯滤波器:

H(u) = Ae^{-u^{2}/2\sigma ^{2}}

空间域中的相应滤波器由H(u)的傅里叶反变换得到:

h(x) = \sqrt{2\pi}\sigma Ae^{-2\pi^{2}\sigma ^{2}x^{2}}

上面两个函数的表现是互易的:当H(u)有一个较窄的外形时(\sigma较小),h(x)有较宽的外形。频率域滤波器越窄,其衰减的高频越多,引起的模糊越大。在空间域,意味着必须用较大的模板来增加模糊。如下图:

例:由空间模板得到频率域滤波器

上图是一个Sobel滤波器模板h(x,y),它是奇对称的,假如要处理的是一个600*600像素的图像f(x,y)。因为滤波器是3*3,所以我们将f和h填充为602*602像素。为保持Sobel模板的对称性,我们将它放到填充后的602*602图像的中心处得到,仍然保持奇对称,根据DFT的性质,可知H(u,v)将完全是虚函数。

产生H(u,v)的过程如下:

  1. (-1)^{x+y}h_{p}(x,y)以便频率域滤波器“中心化”;
  2. 计算1中结果的DFT;
  3. 因为H(u,v)是纯虚函数,将2中结果的寄生实部置0;

频率域滤波器平滑图像

频率域平滑(模糊)可通过对高频的衰减来达到,也就是低通滤波。常用的3种类型低通滤波器:理想低通滤波器,布特沃斯低通滤波器和高斯低通滤波器。布特沃斯滤波器有一个“阶数”的参数,阶数较高时,接近理想滤波器,阶数较低时,接近高斯滤波器。

理想低通滤波器(ILPF):以原点为圆心,D_{0}为半径的圆内,无衰减的通过所有频率,而在圆外切断所有频率的二维低通滤波器。由下面函数确定:

H(u,v) = \begin{cases} 1, & D(u,v)\leqslant D_{0} \\ 0, & D(u,v)> D_{0} \end{cases}

其中,D_{0}是正常数,D(u,v)是频率域中点(u,v)与频率矩形中心的距离:

D(u,v) = [(u-p/2)^{2}+(v-Q/2)^{2}]^{1/2}

其中,P和Q是填充后的尺寸。

截止频率:在H(u,v) = 1和H(u,v) = 0之间的过度点。下图中截止频率为D_{0}

定义总图像功率值P_{T}

P_{T} = \sum_{u=0}^{P-1}\sum_{v=0}^{Q-1}P(u,v)

其中,。如果DFT已被中心化,那么原点位于频率矩形中心处、半径为D_{0}的圆将包含\alpha \%的功率,\alpha为:

\alpha = 100[\sum_{u} \sum_{v}P(u,v)/P_{T}]

总和取圆内或边界上的(u,v)值。

滤波效果如下:

上图中的结果都有振铃现象,可用卷积定理解释。因为ILPF在频率域的剖面图类似于盒状滤波器,可以预料相应的空间滤波器h(x,y)具有sinc函数形状,空间域滤波可通过h(x,y)与图像卷积实现。sin函数的中心波瓣是引起模糊的主因,而外侧较小的波瓣是造成振铃的主因。

截止频率位于距离原点D_{0}处的n阶布特沃斯低通滤波器(BLPF)

H(u,v) = \frac{1}{1+[D(u,v)/D_{0}]^{2n}}

与ILPF不同,BLPF并没有在通频率和滤除频率之间给出明显截止的尖锐的不连续性。对于具有平滑传递函数的滤波器,可以这样定义截止频率,即使得H(u,v)下降到其最大值的某个百分比的点。

在空间域的一阶布特沃斯滤波器没有振铃现象;在二阶滤波器中,很难察觉振铃现象;更高阶的滤波器中振铃现象会很明显。下图解释了原因:

高斯低通滤波器(GLPF)

H(u,v) = e^{-D^{2}(u,v)/2\sigma ^{2}}

其中,\sigma是关于中心的扩展度的度量。令\sigma = D_{0},则:

H(u,v) = e^{-D^{2}(u,v)/2D_{0} ^{2}}

D_{0}是截至频率。

根据DFT的性质,GLPF的傅里叶反变换也是高斯的,这意味着得到的空间高斯滤波器将没有振铃(这是实际中一个重要特性,尤其在任何类型的人工缺陷不可接受的情况下,如医学影像)。

低通滤波器总结表:

频率域滤波器锐化图像

图像锐化可在频率域通过高通滤波实现,高通滤波会衰减低频分量而不会扰乱高频信息。

高通滤波器从给定的低通滤波器得到:

H_{HP}(u,v) = 1- H_{LP}(u,v)

其中,H_{LP}(u,v)是低通滤波器的传递函数。

根据前面提到的低通滤波器,高通滤波器可分为:理想高通滤波器(IHPF)布特沃斯高通滤波器(BHPF)高斯高通滤波器(GHPF)。定义如下表:

下图是高通滤波器的透视图,图像表示和剖面图,从上到下分别是IHPF,BHPF和GHPF:

选择性滤波

前面说的滤波器都是操作整个频率矩形,有时候需要操作某个小区域,如带阻滤波器和带通滤波器操作的是指定频段。

带阻滤波器总结如下:

带通滤波器从带阻滤波器得到:

H_{BP}(u,v) = 1 - H_{BR}(u,v)

下图左图为带阻高斯滤波器,有右图为相应的带通滤波器:

微信交流
多谢打赏

参考资料:冈萨雷斯《数字图像处理》

相关博文:图像处理之频率域数学基础

频率域滤波

阅读数 1894

没有更多推荐了,返回首页