public class MedianFilter extends AreaFilterOperation
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.
PixelImage image = ...; // some GrayIntegerImage or RGBIntegerImage MedianFilter filter = new MedianFilter(); filter.setArea(5, 5); filter.setInputImage(image); filter.process(); PixelImage filteredImage = filter.getOutputImage();
| Constructor and Description |
|---|
MedianFilter() |
| Modifier and Type | Method and Description |
|---|---|
int |
computeSample(int[] samples,
int numSamples)
Determine the resulting sample for an array with the source sample
and zero or more of its neighbors.
|
checkAreaHeight, checkAreaWidth, getAreaHeight, getAreaWidth, process, setArea, setAreaHeight, setAreaWidthcanInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImageaddProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgresspublic final int computeSample(int[] samples,
int numSamples)
AreaFilterOperationnumSamples 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).
computeSample in class AreaFilterOperationsamples - the array holding the sample(s)numSamples - number of samples in the array