matlab自带滤波器函数小结(图像处理)  

1 线性平滑滤波器

用MATLAB实现领域平均法抑制噪声程序:

I=imread(' c4.jpg ');

subplot(231)

imshow(I)

title('原始图像')

flag = isrgb(I);

if flag==true

   I=rgb2gray(I);

else

    I=I;

end

I1=imnoise(I,'salt & pepper',0.02);

subplot(232)

imshow(I1)

title(' 添加椒盐噪声的图像')

k1=filter2(fspecial('average',3),I1)/255;          %进行3*3模板平滑滤波

k2=filter2(fspecial('average',5),I1)/255;          %进行5*5模板平滑滤波



k3=filter2(fspecial('average',7),I1)/255;          %进行7*7模板平滑滤波

k4=filter2(fspecial('average',9),I1)/255;          %进行9*9模板平滑滤波

subplot(233),imshow(k1);title('3*3 模板平滑滤波');

subplot(234),imshow(k2);title('5*5 模板平滑滤波');

subplot(235),imshow(k3);title('7*7 模板平滑滤波');

subplot(236),imshow(k4);title('9*9 模板平滑滤波');



2 中值滤波器

用MATLAB实现中值滤波程序如下:

I=imread(' c4.jpg ');

flag = isrgb(I);

if flag==true

   I=rgb2gray(I);

else

    I=I;

end

J=imnoise(I,'salt&pepper',0.02);

subplot(231),imshow(I);title('原图像');

subplot(232),imshow(J);title('添加椒盐噪声图像');

k1=medfilt2(J);            %进行3*3模板中值滤波

k2=medfilt2(J,[5,5]);      %进行5*5模板中值滤波

k3=medfilt2(J,[7,7]);      %进行7*7模板中值滤波

k4=medfilt2(J,[9,9]);      %进行9*9模板中值滤波

subplot(233),imshow(k1);title('3*3模板中值滤波');

subplot(234),imshow(k2);title('5*5模板中值滤波 ');

subplot(235),imshow(k3);title('7*7模板中值滤波');

subplot(236),imshow(k4);title('9*9 模板中值滤波');



3 状态统计滤波器:ordfilt2函数

Y=ordfilt2(X,order,domain)

由domain中非0元素指定邻域的排序集中的第order个元素代替X中的每个元素。Domain是一个仅包括0和1的矩阵,1仅定义滤波运算的邻域。

Y=ordfilt2(X,order,domain,S)

S与domain一样大,用与domain的非0值相应的S的值作为附加补偿。



4 二维自适应除噪滤波器:wiener2函数

wiener2函数估计每个像素的局部均值与方差,该函数用法如下:

J=wiener2(I,[M N],noise)

使用M×N大小邻域局部图像均值与偏差,采用像素式自适应滤波器对图像I进行滤波。

[J,noise]=wiener2(I,[M N])

滤波前还有估计附加噪声的能量。



5 特定区域滤波

MATLAB图像处理工具箱中提供的roifilt2函数用于对特定区域进行滤波,其语法格式为:

J=roifilt2(h,I,BW)

其功能是:使用滤波器h对图像I中用二值掩模BW选中的区域滤波。

J=roifilt2(I,BW,fun)

J=roifilt2(I,BW,fun,P1,P2,…)

其功能是:对图像I中用二值掩模BW选中的区域作函数运算fun,其中fun是描述函数运算的字符串,参数为P1、P2、…。返回图像J在选中区域的像素为图像I经fun运算的结果,其余部分的像素值为I的原始值。

例:对指定区域进行锐化滤波的程序清单:

I=imread('eight.tif');

c=[222 272 300 272 222 194];

r=[21 21 75 121 121 75];

BW=roipoly(I,c,r);

h=fspecial('unsharp');

J=roifilt2(h,I,BW);

subplot(1,2,1);imshow(I);

subplot(1,2,2);imshow(J);

matlab中滤波函数的更多相关文章

  1. MATLAB中的函数句柄及其应用

    1.函数句柄的创建 函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++), ...

  2. Matlab中imfilter()函数的用法

    Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...

  3. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  4. matlab中subplot函数的功能

    转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...

  5. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  6. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  7. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  8. matlab中cumsum函数

    matlab中cumsum函数通常用于计算一个数组各行的累加值.在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息. 格式一:B = cumsum(A ...

  9. 『转载』Matlab中fmincon函数获取乘子

    Matlab中fmincon函数获取乘子 一.输出结构 [x,fval,exitflag,output,lambda] = fmincon(......) 二.结构说明 lambda结构 说     ...

随机推荐

  1. python 爬虫(爬取网页的img并下载)

    from urllib.request import urlopen # 引用第三方库 import requests #引用requests/用于访问网站(没安装需要安装) from pyquery ...

  2. 微信小程序通过api接口将json数据展现到小程序上

    实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1& ...

  3. 查看dll 的是32位还是64位

    1. dumpbin 命令 ** dumpbin 路径写入环境变量 ***  使用 dumpbin /headers 文件名去查看 [X86 表示32位  x64表示64位] 2. 使用 DEPEND ...

  4. AtCoder Regular Contest 098 D - Xor Sum 2 区间异或=相加 DP思想

    题意:给出n个数,求它的连续子序列中,满足下列公式,(l,r)的对数有多少对 Al xor Al+1 xor … xor Ar=Al + Al+1 + … + Ar 思路:由题意可以得到,连续子序列, ...

  5. 常见java异常英语词汇(一)

    denied   /dɪ'naɪəd/    adj 拒签  v 拒绝

  6. 成都Uber优步司机奖励政策(3月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. P1535 游荡的奶牛

    P1535 游荡的奶牛 题目描述 Searching for the very best grass, the cows are travelling about the pasture which ...

  8. YARN 与Maprd 配置

    <!-- yarn 配置 --> <!-- yarn-sit.xml --> <property> <name>yarn.resourcemanager ...

  9. Spring缓存穿透问题修复

    本文来自网易云社区. 本剧情纯属真实,犹如雷同实乃缘分. 发生 事情的发生在某天早上,天气怎样反正是忘了,只记得当时监控平台大量的数据库错误报警. 作为后端开发,当看到日志中大量的db连接获取失败,心 ...

  10. 金山WPS面试题

    1.windows的handle 1)是一个宏定义#define void* HANDLE 2) HANDLE提供了一种统一的方式去获得系统资源,并对其进行操作. 3) HANDLE使得程序设计的细节 ...