Class ReduceToBilevelThreshold
java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.color.reduction.ReduceToBilevelThreshold
Reduces a
GrayIntegerImage to a
BilevelImage by setting all values below
a certain threshold value to black and everything else to white.
Default value
If no threshold is specified viasetThreshold(int), this operation
uses a default value of (IntegerImage.getMaxSample(int) + 1) / 2.
Usage example
This example sets all values below 33 percent luminance to black, everything else to white.GrayIntegerImage image = ...; ReduceToBilevelThreshold red = new ReduceToBilevelThreshold(); red.setInputImage(image); red.setThreshold(image.getMaxSample(0) / 3); red.process(); BilevelImage reducedImage= (BilevelImage)red.getOutputImage();
- Author:
- Marco Schmidt
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the current threshold value, ornullif none was specified and the operation's process method was not run yet.voidprocess()This method does the actual work of the operation.private voidprocess(GrayIntegerImage in, BilevelImage out) voidsetThreshold(int newThreshold) Sets a new threshold value.Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation
canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImageMethods inherited from class net.sourceforge.jiu.ops.Operation
addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress
-
Field Details
-
threshold
-
-
Constructor Details
-
ReduceToBilevelThreshold
public ReduceToBilevelThreshold()
-
-
Method Details
-
getThreshold
Returns the current threshold value, ornullif none was specified and the operation's process method was not run yet.- Returns:
- threshold value
-
process
- Throws:
WrongParameterException
-
process
Description copied from class:OperationThis method does the actual work of the operation. It must be called after all parameters have been given to the operation object.- Overrides:
processin classOperation- Throws:
MissingParameterException- if any mandatory parameter was not given to the operationWrongParameterException- if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)
-
setThreshold
public void setThreshold(int newThreshold) Sets a new threshold value.- Parameters:
newThreshold- the new threshold value to be used for this operation- Throws:
IllegalArgumentException- if the threshold value is negative
-