主要内容

Medfilt2.

2-D中位过滤

描述

例子

J= medfilt2 (对图像进行中值滤波在二维空间中。每个输出像素包含输入图像中对应像素的3 × 3邻域的中值。

J= medfilt2 ((mn)属性中的每个输出像素都包含中值-经过-n在输入图像中对应像素周围的邻域。

J= medfilt2 (___Padopt.控制如何Medfilt2.填充图像边界。

例子

全部折叠

将图像读取到工作区并显示它。

我= imread (“eight.tif”);图中,imshow(我)

图中包含一个坐标轴。轴包含一个image类型的对象。

加盐和胡椒。

J = imnoise(我的盐和胡椒, 0.02);

使用中值过滤器过滤噪声。

K = medfilt2 (J);

显示结果,并排。

imshowpair (J, K,“蒙太奇”

图中包含一个坐标轴。轴包含一个image类型的对象。

输入参数

全部折叠

输入图像,指定为二维灰度或二值图像。

数据类型:||int8|int16|INT32.|uint8|uint16|uint32|逻辑

邻域大小,指定为正整数的2元素向量。

数据类型:||int8|int16|INT32.|int64|uint8|uint16|uint32|uint64

填充选项,指定为下列值之一。

价值 描述
“零”(默认) 填充图像0年代。
“对称” 在边界对称地扩展图像。
“索引” 如果,然后填充图像1年代;否则,垫与0年代。

数据类型:char|字符串

输出参数

全部折叠

输出图像,作为与输入图像相同类的数字矩阵返回

提示

  • 中值滤波是一种非线性运算,常用于图像处理,以减少“椒盐”噪声。当目标是同时降低噪声和保持边缘时,中值滤波器比卷积更有效。有关性能注意事项的信息,请参见ordfilt2

  • 如果输入图像是整数类的,则所有输出值都作为整数返回。如果邻域的像素数(m * n)即使,那么一些中位数值可能不是整数。在这些情况下,小数部分被丢弃。逻辑输入相似地处理。例如,在a中的以下2×2附近的真正中位数uint8数组是4.5,但是Medfilt2.放弃小数部分,返回4。

    1 5 4 8
  • 如果您指定Padopt.作为“零”或者“索引”,则填充会使图像边界附近的中值发生倾斜。在邻域宽度的一半以内的像素((mn)/ 2.)边缘可能出现扭曲。

算法

在CPU上,Medfilt2.用途ordfilt2执行过滤。

参考

[1] Lim, Jae S,二维信号和图像处理, Englewood Cliffs, NJ, Prentice Hall, 1990, 469-476页。

扩展功能

在R2006A之前介绍