medfilt2 - 2-D median filtering

Syntax

B = medfilt2(A, [m n])
B = medfilt2(A)
B = medfilt2(A, 'indexed',...)

Description

Median filtering is a nonlinear operation often used in image processing to reduce "salt and pepper" noise. A median filter is more effective than convolution when the goal is to simultaneously reduce noise and preserve edges.

B = medfilt2(A, [m n]) performs median filtering of the matrix A in two dimensions. Each output pixel contains the median value in the m-by-n neighborhood around the corresponding pixel in the input image. medfilt2 pads the image with 0's on the edges, so the median values for the points within [m n]/2 of the edges might appear distorted.

B = medfilt2(A) performs median filtering of the matrix A using the default 3-by-3 neighborhood.

B = medfilt2(A, 'indexed',...) processes A as an indexed image, padding with 0's if the class of A is uint8, or 1's if the class of A is double.

Class Support

The input image A can be of class logical, uint8, uint16, or double (unless the 'indexed' syntax is used, in which case A cannot be of class uint16). The output image B is of the same class as A.

Remarks

If the input image A is of an integer class, all the output values are returned as integers. If the number of pixels in the neighborhood (i.e., m*n) is even, some of the median values might not be integers. In these cases, the fractional parts are discarded. Logical input is treated similarly.

For example, suppose you call medfilt2 using 2-by-2 neighborhoods, and the input image is a uint8 array that includes this neighborhood.

1 5
4 8

medfilt2 returns an output value of 4 for this neighborhood, although the true median is 4.5.

Examples

Add salt and pepper noise to an image and then restore the image using medfilt2.

I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
K = medfilt2(J);
imshow(J), figure, imshow(K)

Algorithm

medfilt2 uses ordfilt2 to perform the filtering.

See Also

filter2, ordfilt2, wiener2

Reference

[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 469-476.

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS