JIU 0.14.3

net.sourceforge.jiu.color.reduction
Class ReduceShadesOfGray

java.lang.Object
  extended by net.sourceforge.jiu.ops.Operation
      extended by net.sourceforge.jiu.ops.ImageToImageOperation
          extended by 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

Constructor Summary
ReduceShadesOfGray()
           
 
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 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReduceShadesOfGray

public ReduceShadesOfGray()
Method Detail

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

JIU 0.14.3

Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Marco Schmidt