我是靠谱客的博主 欣慰鲜花,这篇文章主要介绍数字图像处理3:空域滤波(图像平滑:均值,中值。图像锐化)空域滤波实验小结,现在分享给大家,希望可以做个参考。

空域滤波

空间滤波根据其功能划分为平滑滤波和锐化滤波。首先介绍平滑滤波。

平滑滤波

平滑算法有很多种,这里进行两种平滑滤波算法——均值滤波和中值滤波的比较,滤波器模板均为 3*3;在滤波器都需要延拓两行两列,使用镜像的延拓方式。下面是各自算法的描述。

实验思路

均值滤波首先取出计算的像素点 33 范围内的所有的点,之后利用其灰度值求均值,计算结果为滤波后的当前像素点的灰度值。
中值滤波首先取出计算的像素点 3
3 范围内的所有的点,之后进行按像素的灰度值的大小排序,取中位数作为当前像素点的值。

代码

主函数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
%% clc; clear; close all; %% 读取图像 filename = 'circuit'; % 受到椒盐噪声污染的电路板X射线图像 im = imread([filename, '.jpg']); %% 图像的滤波次数 times = 1000; im_a = im; im_m = im; for i = 1:times %% 将图像进行均值滤波 % im_a = myAverage(im_a); %% 将图像进行中值滤波 im_m = myMedian(im_m); end %% 将结果保存到当前目录下的result文件夹下 imwrite(im_a, sprintf('result/_%s_a.jpg', filename)); imwrite(im_m, sprintf('result/_%s_m.jpg', filename)); %% 显示结果 figure(1); subplot(131); imshow(im); title('原图'); axis on subplot(132); imshow(im_a); title('5次均值滤波'); axis on subplot(133); imshow(im_m); title('5次中值滤波'); axis on

功能函数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function [img_2] = myAverage(img_1) size_1 = size(img_1); h = size_1(1); w = size_1(2); img_2 = zeros(h, w); %%边缘延拓两行两列 a = img_1(1,:); b = img_1(h,:); img_1 = [a;img_1;b]; c = img_1(:,1); d = img_1(:,w); img_1 = double([c,img_1,d]); %3X3均值模板 L = 1/9*[1 1 1;1 1 1;1 1 1]; for i= 1:h for j = 1:w im = [img_1(i,j) img_1(i,j+1) img_1(i,j+2);... img_1(i+1,j) img_1(i+1,j+1) img_1(i+1,j+2);... img_1(i+2,j) img_1(i+2,j+1) img_1(i+2,j+2)]; img_2(i,j) = round(sum(sum(L.*im))); end end img_2 = uint8(img_2); end
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function [img_2] = myMedian(img_1) size_1 = size(img_1); h = size_1(1); w = size_1(2); img_2 = zeros(h, w); temp = zeros(9,1); %%边缘延拓两行两列 a = img_1(1,:); b = img_1(h,:); img_1 = [a;img_1;b]; c = img_1(:,1); d = img_1(:,w); img_1 = [c,img_1,d]; for i= 1:h for j = 1:w %获得模板区的值 %对模板区的值进行排序 %选取中值 img_2(i,j) = median([img_1(i,j) img_1(i,j+1) img_1(i,j+2)... img_1(i+1,j) img_1(i+1,j+1) img_1(i+1,j+2)... img_1(i+2,j) img_1(i+2,j+1) img_1(i+2,j+2)]); end end img_2 = uint8(img_2); end

实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验分析

平滑滤波:能减弱或者消除图像中高频率分量,但不影响低频率分量,在实际应用中可用来消除噪声。均值滤波和和中值滤波都可以起到平滑图像,虑去噪声的功能。

均值滤波采用线性的方法,平均整个窗口范围内的像素值,均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。

中值滤波采用非线性的方法,它在平滑脉冲噪声方面非常有效, 同时它可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好,对椒盐噪声表现较好,对高斯噪 声表现较差。

滤波次数的影响,随着滤波的次数逐渐增加,均值滤波计算的结果越来越模糊,这是因为 均值滤波的本质是低通滤波器,多次迭代之后,图像保留的部分的频率越来越低,最后不难猜测图像的结果是各个像素点的灰度值相同。这是中值滤波不会发生和上面相似的情况,但是图像的部分高频的细节被当做噪声消除,图像变得过于平滑。理论上说无限次的中值的最终结果是使图像的高频成分彻底丧失,比如图像的细节或者纹理成分,但是会保留一些低频的图像细节。

锐化滤波

图像锐化是针对常见的图像模糊、边缘不清晰所采用的的处理方法,与平滑滤波相反,它 能够减弱或者消除图像中低频率分量,但不影响高频率分量,可使图像反差增加,加强图像的轮廓,是图像变得比较清晰。主要的目的:突出灰度的过度部分。

实验思路

利用二阶微分算子拉普拉斯算子进行图像的锐化,常见的拉普拉斯算子有
[0 -1 0;-1 4 -1;0 -1 0] 和 [-1 -1 -1;-1 8 -1;-1 -1 -1],本次使用的 3X3 模板是 [-1 -1 -1;-1 8 -1;-1 -1 -1]。首先取出计算的像素点 3X3 范围内的所有的点,之后进行按模板的参数加权求和,最后再加上原图像的灰度值,可以得到锐化后的像素点灰度值。

代码

主函数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%% clc; clear; close all; %% 读取图片 filename = 'moon'; %测试图像1 im = imread([filename, '.jpg']); %% 将图像进行锐化 im_s = mySharpen(im); %% 将结果保存到当前目录下的result文件夹下 imwrite(im_s, sprintf('result/_%s_s.jpg', filename)); %% 显示结果 figure(1); subplot(121); imshow(im); title('原图'); axis on subplot(122); imshow(im_s); title('图像锐化'); axis on

功能函数:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function [img_2] = mySharpen(img_1) size_1 = size(img_1); h = size_1(1); w = size_1(2); img_2 = zeros(h, w); %%边缘延拓两行两列 a = img_1(1,:); b = img_1(h,:); img_1 = [a;img_1;b]; c = img_1(:,1); d = img_1(:,w); img_1 = double([c,img_1,d]); %拉普拉斯算子 L = [-1 -1 -1;-1 8 -1;-1 -1 -1]; for i= 1:h for j = 1:w im = [img_1(i,j) img_1(i,j+1) img_1(i,j+2);... img_1(i+1,j) img_1(i+1,j+1) img_1(i+1,j+2);... img_1(i+2,j) img_1(i+2,j+1) img_1(i+2,j+2)]; img_2(i,j) = round(sum(sum(L.*im))); img_2(i,j) = img_2(i,j) + img_1(i+1,j+1); end end img_2 = im2uint8(img_2/255); end

实验结果

原图:
在这里插入图片描述
结果图:在这里插入图片描述

实验分析

通过对数字图像进行锐化处理,可以增强图像的边缘,使模糊的图像变得清晰起来,用
Laplacian 算子可以达到细节增强的目的。

实验小结

本次实验,研究了灰度变换中的直方图均衡,通过直方图均衡来改变像素分布位置,从而提高图像的对比度,对于图像来说,处理结果比较理想。但是如果变换后图像的灰度级减少,也会导致图像某些细节的消失。

之后研究空域滤波中的两种平滑滤波算法和一种锐化滤波算法。在实验中分析研究了平滑滤波的本质是低通滤波,对于均值滤波,它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,但是通过分析可以知道对于高斯噪声它有很好的消除效果。对于中值滤波,它可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,对椒盐噪声表现较好,但是对高斯噪声表现较差。对于锐化滤波,可以突出图像的边缘细节,让模糊的图片变得清晰,增强细节。

最后

以上就是欣慰鲜花最近收集整理的关于数字图像处理3:空域滤波(图像平滑:均值,中值。图像锐化)空域滤波实验小结的全部内容,更多相关数字图像处理3:空域滤波(图像平滑:均值内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部