Carry out fast median filtering on images using windows from 3x3 to 19x19 maximum size. MedianFilter works only with true color images.

Filtering can be of three types:

1) substitute median if central point differs from median by a threshold amount

2) high pass sharpening

3) edge extraction

Operation:

Histogram in moving window at beginning of line is initiated. Histogram is updated after each move subtracting left column values from previous window, adding right column values. Median updated by counting up or down number of pixels less than or greater than old median. For color images, the grayscale intensity of a pixel is computed as a weighted linear combination of RGB and counted in the histogram. The pixel with the nearest (L1 norm) color to the average of all pixels in the moving window except the central point is used in place of the median.

The computation of the median for a color image has a complexity of O(N^4), Whereas this technique is only O(N^2) or less and is as good when the window size is 19x19 when the median differs only by a small amount from the mean. For smaller windows performance degrades as the mean differs from the median, but it is still satisfactory down to a 5x5 window.

Adaptive thresholding is used to preserve sharp edges. A pixel is replaced by the median or its nearast average color equivalent if it lies outside the 1st and 3rd quantile of the intensity distribution. The user may modify the position of the quantiles interactively. Defaults are the first and third quartiles. For grayscale images, the quantiles and medians are used directly. The green element of a RGB record is used as an intensity measurement. The user must provide means of detecting whether or not an image is color or grayscale.

Namespace: HiComponents.IEvolution
Assembly: IEvolution2 (in IEvolution2.dll) Version: 10.1.0.0

Syntax

         
 C#  Visual Basic  Visual C++ 
public void MedianFilter()
Public Sub MedianFilter
public:
void MedianFilter()

See Also