net.sourceforge.jiu.color.reduction
Class ReduceShadesOfGray
java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.color.reduction.ReduceShadesOfGray
public class ReduceShadesOfGray
- extends ImageToImageOperation
Reduces the number of shades of gray of a grayscale image.
This class uses the most simple possible algorithm.
Only the most significant N bits are kept (where N is the
number specified with setBits(int)
), the others are dropped
and the result is scaled back to either 8 or 16 bits to fit
into the two grayscale image types.
Supported image classes
This class works with Gray8Image
and Gray16Image
.
Usage example
Reduce a grayscale image to 3 bit (23 = 8 shades of gray):
ReduceShadesOfGray reduce = new ReduceShadesOfGray();
reduce.setBits(3);
reduce.setInputImage(image); // some Gray8Image or Gray16Image
reduce.process();
PixelImage reducedImage = reduce.getOutputImage();
- Since:
- 0.3.0
- Author:
- Marco Schmidt
Method Summary |
void |
process()
This method does the actual work of the operation. |
void |
setBits(int bits)
Specifies the number of bits the output image is supposed to have. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReduceShadesOfGray
public ReduceShadesOfGray()
process
public void process()
throws MissingParameterException,
WrongParameterException
- Description copied from class:
Operation
- This method does the actual work of the operation.
It must be called after all parameters have been given to the operation object.
- Overrides:
process
in class Operation
- Throws:
MissingParameterException
- if any mandatory parameter was not given to the operation
WrongParameterException
- if at least one of the input parameters was
not initialized appropriately (values out of the valid interval, etc.)
setBits
public void setBits(int bits)
- Specifies the number of bits the output image is supposed to have.
- Parameters:
bits
- number of bits in output image, from 1 to 15
- Throws:
IllegalArgumentException
- if bits is smaller than 1 or larger than 15
Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Marco Schmidt