Class ReduceRGB


public class ReduceRGB extends ImageToImageOperation
Reduces the color depth of RGB truecolor images. This class uses a simple approach, it just drops some of the lowest bits and scales the value back to eight or sixteen bits per sample.

Supported image classes

This class works with RGB24Image and RGB48Image.

Usage example

Reduce a 24 or 48 bits per pixel RGB image to 15 bits per pixel:
 PixelImage inputImage = ...; // initialize
 ReduceRGB reduce = new ReduceRGB();
 reduce.setBitsPerSample(5);
 reduce.setInputImage(inputImage);
 reduce.process();
 PixelImage reducedImage = reduce.getOutputImage();
 
Since:
0.12.0
Author:
Marco Schmidt
See Also:
  • Field Details

    • destBits

      private Integer destBits
      Number of significant bits per channel in the destination RGB image.
  • Constructor Details

    • ReduceRGB

      public ReduceRGB()
  • Method Details

    • 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.)
    • setBitsPerSample

      public void setBitsPerSample(int bits)
      Specifies the number of bits per sample in the output image.
      Parameters:
      bits - number of bits in output image, from 1 to 15
      Throws:
      IllegalArgumentException - if bits is smaller than 1 or larger than 15