广州番禺专业做网站,上海百度竞价托管,家装设计网站排行榜前十名,自己做网站需要多少费用前言#xff1a;要是是实验报告赶工的话#xff0c;建议总结上网抄#xff0c;或者重构我的总结#xff0c;仅供学习参考#xff0c;不要照抄 文章目录 一、基础知识1#xff0c;噪声2#xff0c;椒盐噪声3#xff0c;高斯噪声4#xff0c;滤波器5#xff0c;均值滤…前言要是是实验报告赶工的话建议总结上网抄或者重构我的总结仅供学习参考不要照抄 文章目录 一、基础知识1噪声2椒盐噪声3高斯噪声4滤波器5均值滤波器6中值滤波器7滑动窗口 二、实验要求三、实验记录四、结果展示1添加噪声2均值滤波器过滤椒盐噪声3中值滤波器过滤椒盐噪声4均值滤波器过滤高斯噪声5中值滤波器过滤高斯噪声 五、反思总结与收获1滤波器对不同噪声的效果2模板大小不同处理效果有何不同 一、基础知识
1噪声
噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块。它以无用的信息形式出现扰乱图像的可观测信息。通俗的说就是噪声让图像不清楚。 一般在我们获取图像也就是照相的时候可能会遇到一些电磁干扰让我们的图像变得麻麻的。当然在图像传播的过程中也会出现这种问题。
2椒盐噪声
椒盐噪声就是在图像中一些像素点的灰度值突然变得很离谱如下图
3高斯噪声
图像集体像素发生了随机变化不过像素值符合正态分布。高斯噪声的平均值为零即噪声的总体均值为图像的亮度平均值的偏移。 如下图
4滤波器
在我看来滤波器像是一个漏斗如下图这样 漏斗上面的大小就是滤波器的模板大小最后输出就是过滤后的结果
5均值滤波器
先求出装进漏斗里面的数的和输出其平均值
6中值滤波器
将漏斗中的数排序输出大小在中间的那个数
7滑动窗口
这个是一个有点意思的知识点。总之我们要知道一点滤波器总是一直在图像里面滑过来滑过去。 假设从1开始lim是最大地方的边界滤波器规模为f_size我们可以对其位置进行分析 一般目标i应该在滤波器的中心位置好些这样可以得到滤波器的横坐标左边界应该是i-f_size/2右边界应该是if_size/2 当然我们要考虑是否超出边界这样就有左边界为1i-f_size/2两者中较大的数右边界为if_size/2lim两者中较小的数。 纵坐标同理。
二、实验要求
读入一幅256 级灰度的数字图像 图像的平滑滤波处理 1对原图像分别加入高斯噪声、椒盐噪声。 2利用邻域平均法分别采用3355, 77, 99模板对加噪声图像进行平滑处理显示原图像、加噪图像和处理后的图像。 3利用中值滤波法分别采用3355, 77, 99模板对加噪声图像进行去噪处理显示原图像、加噪图像和处理后的图像。 4比较各种滤波方法和滤波模板的处理结果
三、实验记录
读入图像并添加噪声
clc;
clear;
figure(NumberTitle, off, Name,噪音图);
% 实验五 噪声处理
I imread(tp.jpg);subplot(2,2,1.5);imshow(I);
xlabel((a)原始图像);Salt imnoise(I,salt,0.02);subplot(2,2,3);imshow(Salt);
xlabel((b)椒盐噪声图像);gau imnoise(I,gaussian,0,0.01);
subplot(2,2,4);imshow(gau);
xlabel((c)高斯噪声图像);滤波器函数my_filter:
function [value] my_filter(S,filter_size,kind)
% 我的滤波处理器 输入图S,滤波器大小m,滤波器种类kind0,均值滤波1中值滤波if(~exist(kind,var))kind 0; % 如果未出现该变量则对其进行赋值
end
[rows,cols,z] size(S);%获取图的大小value -1*ones(rows,cols,z);%初始化结果
for i 1:rowsfor j 1:colsfor k 1:z% 获取滑动窗口的范围row_start max(1, i - floor(filter_size / 2));row_end min(rows, i floor(filter_size / 2));col_start max(1, j - floor(filter_size / 2));col_end min(cols, j floor(filter_size / 2));% 提取滑动窗口内的像素值window S(row_start:row_end, col_start:col_end, k);if(kind 0)avg_value mean(window(:));%mean 获取平均值elsewindow sort(window);avg_value window(floor(round(length(window)/2)));endvalue(i,j,k) uint8(avg_value); endend
endvalue uint8(value);end主程序代码
clc;
clear;
figure(NumberTitle, off, Name,噪音图);
% 实验五 噪声处理
I imread(tp.jpg);subplot(2,2,1.5);imshow(I);
xlabel((a)原始图像);Salt imnoise(I,salt,0.02);subplot(2,2,3);imshow(Salt);
xlabel((b)椒盐噪声图像);gau imnoise(I,gaussian,0,0.01);
subplot(2,2,4);imshow(gau);
xlabel((c)高斯噪声图像);
figure(NumberTitle, off, Name,均值椒盐);
filter_size [3,5,7,9];
for i1:4I_Salt my_filter(Salt,filter_size(i),0);subplot(2,2,i);imshow(I_Salt);title([num2str(filter_size(i)),x,num2str(filter_size(i)),均值滤波器]);
end
figure(NumberTitle, off, Name,中值椒盐);
for i1:4I_Salt my_filter(Salt,filter_size(i),1);subplot(2,2,i);imshow(I_Salt);title([num2str(filter_size(i)),x,num2str(filter_size(i)),中值滤波器]);
end
figure(NumberTitle, off, Name,均值高斯);for i1:4I_gau my_filter(gau,filter_size(i),0);subplot(2,2,i);imshow(I_gau);title([num2str(filter_size(i)),x,num2str(filter_size(i)),均值滤波器]);
end
figure(NumberTitle, off, Name,中值高斯);for i1:4I_gau my_filter(gau,filter_size(i),1);subplot(2,2,i);imshow(I_gau);title([num2str(filter_size(i)),x,num2str(filter_size(i)),中值滤波器]);
end四、结果展示
1添加噪声 2均值滤波器过滤椒盐噪声 3中值滤波器过滤椒盐噪声 4均值滤波器过滤高斯噪声 5中值滤波器过滤高斯噪声 五、反思总结与收获
1滤波器对不同噪声的效果
椒盐噪声是突然产生一个特别大的值。用中值滤波器就在一堆像素中选适中的可以有效过滤掉椒盐。而一个太大的值对均值有着很大的影响所以用均值滤波器过滤椒盐噪声效果不佳。 高斯噪声的均值为0所以当我们用均值过滤器的时候就可以很好得将高斯噪声减小甚至去除。但是由于图像中的像素都改变了中值滤波器过滤出来的值也有很大可能是一个离谱值所以用中值滤波器过滤高斯噪声效果不佳。
2模板大小不同处理效果有何不同
根据实验结果可知滤波器模板越大对噪声的处理效果越好但是相应的图像会越模糊。因为模板越大滤波器对指定像素的采样范围越大这样减小了噪声对图像的影响但是由于参与像素过多指定像素与周围像素的差距减小或者说是同一个窗口里每个像素之间的差距减小这样图像就会变模糊