空间滤波器 平滑滤波器 锐化滤波器

目录

空间滤波

原理

平滑滤波

图例

均值平滑滤波器 matlab 代码

中值平滑滤波器 matlab 代码

人脸识别识别率比较 PCA+k近邻分类器

锐化滤波

Unsharp Mask

效果图

拉普拉斯

效果图

锐化滤波器 matlab 代码

人脸识别识别率比较 PCA+k近邻分类器


空间滤波

空间滤波是一种采用滤波处理的图像处理方法,目的是达到某种目的(让它更模糊或者让它更清晰)。

滤波是将信号中特定波段频率滤除的操作。

根据滤波频率的不同,空间滤波可以分为平滑滤波(加强低频信息)和锐化滤波(加强高频信息)。

在灰度图像中,低频成分指的是灰度变化小的区域,高频成分指的是灰度变化大的区域。

所以平滑滤波又叫低通滤波,锐化滤波又叫高通滤波。

原理

空间滤波通过把每个像素的值替换成该像素及其邻域的函数值来修改图像。

空间滤波器 平滑滤波器 锐化滤波器_第1张图片

 动图

空间滤波器 平滑滤波器 锐化滤波器_第2张图片

平滑滤波

滤波器分为线性滤波器和非线性滤波器。

线性平滑滤波器就是求一个邻域内像素的加权均值。

非线性平滑滤波器(统计排序滤波器)就是将滤波器区域像素的值进行各种排序,然后选择最大值、最小值、中值等填入中间的像素,所以这些平滑滤波器又叫最大值滤波器,最小值滤波器,中值滤波器,其中中值滤波器是使用最广泛的统计排序滤波器。

图例

下图是均值平滑滤波器的平滑效果,根据领域大小给出。

空间滤波器 平滑滤波器 锐化滤波器_第3张图片

 下面给出中值领域3X3的对比

空间滤波器 平滑滤波器 锐化滤波器_第4张图片

从中我们可以看出,邻域的大小与平滑的效果直接相关,领域越大平滑的效果越好(朦胧感),但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊

均值平滑滤波器 matlab 代码

Data=dir('C:\ORL56_46\*.bmp');
A=imread(Data(1).name);
H=fspecial('average',3);
B=imfilter(A,H,'replicate');
imshow(B);

中值平滑滤波器 matlab 代码

Data=dir('C:\ORL56_46\*.bmp');
A=imread(Data(1).name);
B=medfilt2(A);
imshow(B);

人脸识别识别率比较 PCA+k近邻分类器

ORL 56_46           K=1        Trainnumber=6

邻域

原图

3X3

5X5

7X7

11X11

均值rate

94.38%

94.38%

95.00%

96.25%

96.88%

中值rate

94.38%

93.75%

95.63%

93.75%

92.50%

锐化滤波

平滑滤波可以将图像模糊处理,即加强低频成分,减弱高频成分,而锐化滤波可以突出图像的细节,减弱低频成分,加强高频成分。

我们在做图像平滑的时候,通过减少相邻像素之间的灰度值的差异(比如平均处理),来达到平滑的效果。

那么为了达到锐化图像的目的,我们很自然地可以想到可以通过增大相邻像素之间灰度值的差异来实现。

锐化的方法有很多,像梯度锐化,拉普拉斯和sobel等。

Unsharp Mask

Step 1 使用平滑滤波对原始图像进行模糊操作,产生模糊图像。

Step 2 让原始图像减去模糊图像,去掉它们的共同特性,保留个性,即图片细节。

Step 3 将细节信息与原始图像进行叠加,让低频更加低频,让高频更加高频。

效果图

空间滤波器 平滑滤波器 锐化滤波器_第5张图片

拉普拉斯

空间滤波器 平滑滤波器 锐化滤波器_第6张图片

 空间滤波器 平滑滤波器 锐化滤波器_第7张图片

效果图

空间滤波器 平滑滤波器 锐化滤波器_第8张图片

锐化滤波器 matlab 代码

Data=dir('C:\ORL56_46\*.bmp');
A=imread(Data(1).name);
H=fspecial('log');
B=imfilter(A,H,'replicate');
imshow(B);

人脸识别识别率比较 PCA+k近邻分类器

ORL 56_46           K=1        Trainnumber=6

类型

原图

锐化

叠加

USM

unsharp

识别率

94.38%

48.75%

95.00%

90.63%

86.88%

你可能感兴趣的:(机器学习,图像处理,计算机视觉,算法)