博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab-----均值滤波函数的实现
阅读量:6618 次
发布时间:2019-06-25

本文共 1667 字,大约阅读时间需要 5 分钟。

均值滤波的原理是对图像以一个区域(方形,圆形)等为模板,对该区域内的数据求平均后赋值给区域的中心

这种滤波方式原理简单,但是在滤波的同时会造成图像模糊。

本文将尝试对matlab中的filter2()均值函数用自定义函数averfilter()实现。

 

1 %x是需要滤波的图像,n是模板大小(即n×n) 2 function d=averfilter(x,n)    3 a(1:n,1:n)=1;   %a即n×n模板,元素全是1 4 [height, width]=size(x);   %输入图像是hightxwidth的,且hight>n,width>n 5 x1=double(x); 6 x2=x1; 7 for i=1:height-n+1 8     for j=1:width-n+1 9         c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘10         s=sum(sum(c));                 %求c矩阵中各元素之和11         x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中心位置的元素12     end13 end14 %未被赋值的元素取原值15 d=uint8(x2);

原始彩色图apple.bmp如下:

转换后的灰度图如下:

加入高斯噪声的灰度图如下:

接下来将比较matlab自带filter2()均值函数和自定义的均值函数averfilter()的滤波效果:

matlab自带的filter2()测试代码如下:

1 A=fspecial('average'); %生成系统预定义的3X3滤波器2 Y=filter2(A,g)/255;           %用生成的滤波器进行滤波,并归一化3 figure,imshow(Y),title('用系统函数进行均值滤波后的结果'); %显示滤波后的图象
 

结果图:

使用自己定义的均值滤波函数averfilter()进行测试:

1 Y2=averfilter(g,n);     %调用自编函数进行均值滤波,n为模板大小2  figure,imshow(Y2),title('用自己的编写的函数进行均值滤波之后的结果'); %显示滤波后的图象

 

 

其中自定义均值滤波函数averfilter()的matlab实现代码为:

1 %x是需要滤波的图像,n是模板大小(即n×n) 2 function d=averfilter(x,n)    3 a(1:n,1:n)=1;   %a即n×n模板,元素全是1 4 [height, width]=size(x);   %输入图像是hightxwidth的,且hight>n,width>n 5 x1=double(x); 6 x2=x1; 7 for i=1:height-n+1 8     for j=1:width-n+1 9         c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘10         s=sum(sum(c));                 %求c矩阵中各元素之和11         x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将与模板运算后的各元素的均值赋给模板中心位置的元素12     end13 end14 %未被赋值的元素取原值15 d=uint8(x2);

结果图如下:

显然比较filter2()和自定义的averfilter()函数其滤波结果是基本一致的,这说明我们对于均值滤波的

matlab实现是成功的。文中的图片效果不是太好,如果需要原图的读者请给我发邮件vpoet_sir@163.com

 

转载于:https://www.cnblogs.com/vpoet/p/4659760.html

你可能感兴趣的文章
三坐标DMIS语言是C语言吗,三坐标测量软件PC-DMIS常见技巧
查看>>
空间域图像增强c语言,OpenCV 图像增强(空间域)
查看>>
android 窗口分割线,android RecyclerView 万能分隔线
查看>>
电脑android模拟器下载地址,仙域奇缘电脑版怎么下载 安卓模拟器电脑版下载地址...
查看>>
Android WebView 总结,android webview总结
查看>>
android mac 照片恢复,相片恢复?误删的手机照片简单的找回方法来了!
查看>>
html中的text标签怎么设置自动换行,innerHTML中标签可以换行的方法汇总
查看>>
html5性能在线测试,HTML5性能测试
查看>>
美团Android三面,美团面经后端一面挂,安卓三面(实习)
查看>>
android环境搭建注意事项,android studio教程及android环境搭建
查看>>
html很炫的按钮效果图,6种非常炫酷的CSS3按钮边框动画特效
查看>>
gitbook生成html文档,在线帮助文档编辑器gitbook
查看>>
grunt html模块化管理插件,js模块化开发—Gruntfile.js详解
查看>>
chrome html 播放avi,how to embed an .AVI in html?
查看>>
Linux系统中三类重要文件的作用与区别
查看>>
【人生感悟】此一时也,彼一时
查看>>
关于对象和对象引用的关系
查看>>
网站群2
查看>>
WeakHashMap的实现原理
查看>>
VS2010问题记录
查看>>