public class MeanFilter extends AreaFilterOperation
GrayIntegerImage
and
RGBIntegerImage
will work.
PixelImage image = ...; // some GrayIntegerImage or RGBIntegerImage MeanFilter filter = new MeanFilter(); filter.setArea(5, 5); filter.setInputImage(image); filter.process(); PixelImage filteredImage = filter.getOutputImage();
Constructor and Description |
---|
MeanFilter() |
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, setAreaWidth
canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage
addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress
public int computeSample(int[] samples, int numSamples)
AreaFilterOperation
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).
computeSample
in class AreaFilterOperation
samples
- the array holding the sample(s)numSamples
- number of samples in the array