public class MaximumFilter extends AreaFilterOperation
Note that this is not the maximum operation that takes two input images and, for each position, takes the maximum sample value and writes it to output.
MaximumFilter filter = new MaximumFilter(); filter.setArea(7, 5); filter.setInputImage(image); filter.process(); PixelImage filteredImage = filter.getOutputImage();
MinimumFilter
Constructor and Description |
---|
MaximumFilter() |
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 final 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