net.sourceforge.jiu.filters
Class MedianFilter
java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.filters.AreaFilterOperation
net.sourceforge.jiu.filters.MedianFilter
public class MedianFilter
- extends AreaFilterOperation
Applies a Median filter that replaces each pixel by the median of
itself and its neighbors.
The number of neighbors can be defined with the setArea methods.
Can be used as despeckle filter, but the image will lose sharpness.
The larger the area becomes, the less noise and the less sharpness will remain,
and the longer it will take.
Uses Median
to do the search for the median value.
Usage example
PixelImage image = ...; // some GrayIntegerImage or RGBIntegerImage
MedianFilter filter = new MedianFilter();
filter.setArea(5, 5);
filter.setInputImage(image);
filter.process();
PixelImage filteredImage = filter.getOutputImage();
- Author:
- Marco Schmidt
Method Summary |
int |
computeSample(int[] samples,
int numSamples)
Determine the resulting sample for an array with the source sample
and zero or more of its neighbors. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MedianFilter
public MedianFilter()
computeSample
public final int computeSample(int[] samples,
int numSamples)
- Description copied from class:
AreaFilterOperation
- Determine the resulting sample for an array with the source sample
and zero or more of its neighbors.
This abstract method must be implemented by classes extending this operation.
The array will hold
numSamples
samples, which will be stored
starting at offset 0
.
Normally, numSamples
is equal to AreaFilterOperation.getAreaWidth()
times AreaFilterOperation.getAreaHeight()
.
Near the border of the image you may get less samples.
Example: the top left sample of an image has only three neighbors (east, south-east and south),
so you will only get four samples (three neighbors and the sample itself).
- Specified by:
computeSample
in class AreaFilterOperation
- Parameters:
samples
- the array holding the sample(s)numSamples
- number of samples in the array
- Returns:
- sample to be written to the output image
Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Marco Schmidt