net.sourceforge.jiu.color.adjustment
Class GammaCorrection
java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.ops.LookupTableOperation
net.sourceforge.jiu.color.adjustment.GammaCorrection
public class GammaCorrection
- extends LookupTableOperation
Corrects the gamma of an image.
Works with GrayIntegerImage
,
RGBIntegerImage
and
Paletted8Image
.
Only the palette is manipulated for paletted images.
Changes intensity values by applying the formula
f(x) = MAX * (x / MAX)(1 / gamma) to each
x from [0 ; MAX] to them.
The MAX value is the maximum value allowed for an intensity value of the
corresponding channel.
It is determined by calling IntegerImage.getMaxSample(int)
on
the input image.
The gamma parameter must be given to a GammaCorrection
operation
before the call to process(net.sourceforge.jiu.data.Paletted8Image, net.sourceforge.jiu.data.Paletted8Image)
is made.
The valid interval for gamma is (0.0 ; MAX_GAMMA
]
(so 0.0 is not a valid value).
Gamma values smaller than 1 will make the image darker, values
larger than 1 will make it brighter.
Usage example
GammaCorrection gamma = new GammaCorrection();
gamma.setInputImage(image);
gamma.setGamma(2.2);
gamma.process();
PixelImage correctedImage = gamma.getOutputImage();
- Author:
- Marco Schmidt
Field Summary |
static double |
MAX_GAMMA
The maximum allowed value for gamma. |
Method Summary |
double |
getGamma()
Returns the gamma value to be used for this operation. |
void |
process()
This method does the actual work of the operation. |
void |
setGamma(double newGamma)
Sets a new gamma value to be used in this operation. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAX_GAMMA
public static final double MAX_GAMMA
- The maximum allowed value for gamma.
- See Also:
- Constant Field Values
GammaCorrection
public GammaCorrection()
getGamma
public double getGamma()
- Returns the gamma value to be used for this operation.
- Returns:
- gamma value between 0 (not included) and
MAX_GAMMA
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 LookupTableOperation
- 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.)
setGamma
public void setGamma(double newGamma)
- Sets a new gamma value to be used in this operation.
- Parameters:
newGamma
- the new gamma value must be > 0.0 and <= MAX_GAMMA
- Throws:
IllegalArgumentException
- if the argument is not in the described interval
Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Marco Schmidt