Class ReduceToBilevelThreshold
- java.lang.Object
-
- net.sourceforge.jiu.ops.Operation
-
- net.sourceforge.jiu.ops.ImageToImageOperation
-
- net.sourceforge.jiu.color.reduction.ReduceToBilevelThreshold
-
public class ReduceToBilevelThreshold extends ImageToImageOperation
Reduces aGrayIntegerImageto aBilevelImageby 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
-
-
Constructor Summary
Constructors Constructor Description ReduceToBilevelThreshold()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IntegergetThreshold()Returns 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, setOutputImage
-
Methods inherited from class net.sourceforge.jiu.ops.Operation
addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress
-
-
-
-
Field Detail
-
threshold
private Integer threshold
-
-
Method Detail
-
getThreshold
public Integer getThreshold()
Returns the current threshold value, ornullif none was specified and the operation's process method was not run yet.- Returns:
- threshold value
-
process
private void process(GrayIntegerImage in, BilevelImage out) throws WrongParameterException
- Throws:
WrongParameterException
-
process
public void process() throws MissingParameterException, WrongParameterExceptionDescription 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
-
-