Class UniformPaletteQuantizer
java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.color.quantization.UniformPaletteQuantizer
- All Implemented Interfaces:
RGBQuantizer
,RGBIndex
public class UniformPaletteQuantizer
extends ImageToImageOperation
implements RGBIndex, RGBQuantizer
A color quantizer that maps to a palette which is equidistantly distributed
in the RGB color cube.
Equidistantly distributed only within each channel.
- Author:
- Marco Schmidt
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private final int
private final int[]
private final int
private final int
private final int
private final int[]
private int[]
private int[]
private int[]
private final int
private final int
private final int
private final int[]
private final int
Fields inherited from interface net.sourceforge.jiu.data.RGBIndex
INDEX_BLUE, INDEX_GREEN, INDEX_RED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturn a Palette object with the list of colors to be used in the quantization process.int
map
(int[] origRgb, int[] quantizedRgb) This method maps a triplet of intensity values to its quantized counterpart and returns the palette index of that quantized color.final int
mapToIndex
(int red, int green, int blue) void
process()
This method does the actual work of the operation.private void
process
(RGB24Image in, Paletted8Image out) 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 Details
-
RED_BITS
private final int RED_BITS -
RED_LEFT_SHIFT
private final int RED_LEFT_SHIFT -
RED_RIGHT_SHIFT
private final int RED_RIGHT_SHIFT -
RED_VALUES
private final int[] RED_VALUES -
GREEN_BITS
private final int GREEN_BITS -
GREEN_LEFT_SHIFT
private final int GREEN_LEFT_SHIFT -
GREEN_RIGHT_SHIFT
private final int GREEN_RIGHT_SHIFT -
GREEN_VALUES
private final int[] GREEN_VALUES -
BLUE_BITS
private final int BLUE_BITS -
BLUE_RIGHT_SHIFT
private final int BLUE_RIGHT_SHIFT -
BLUE_VALUES
private final int[] BLUE_VALUES -
TOTAL_BITS
private final int TOTAL_BITS -
PALETTE_RED
private int[] PALETTE_RED -
PALETTE_GREEN
private int[] PALETTE_GREEN -
PALETTE_BLUE
private int[] PALETTE_BLUE
-
-
Constructor Details
-
UniformPaletteQuantizer
public UniformPaletteQuantizer(int redBits, int greenBits, int blueBits)
-
-
Method Details
-
createPalette
Description copied from interface:RGBQuantizer
Return a Palette object with the list of colors to be used in the quantization process. That palette may be fixed or created specifically for a given input image.- Specified by:
createPalette
in interfaceRGBQuantizer
- Returns:
- Palette object for destination image
-
map
public int map(int[] origRgb, int[] quantizedRgb) Description copied from interface:RGBQuantizer
This method maps a triplet of intensity values to its quantized counterpart and returns the palette index of that quantized color. The index values for the two arrays are taken from RGBIndex.- Specified by:
map
in interfaceRGBQuantizer
- Parameters:
origRgb
- the three samples red, green and blue for which a good match is searched in the palettequantizedRgb
- will hold the three samples found to be closest to origRgb after the call to this method- Returns:
- int index in the palette of the match quantizedRgb
-
mapToIndex
public final int mapToIndex(int red, int green, int blue) -
process
-
process
public void process()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.
-