eLynx SDK
v3.3.0 C++ image processing API reference |
Interface defining point to point image processing functionnalities. More...
#include <IImagePointProcessing.h>
Public Member Functions | |
virtual bool | AdjustBrightness (AbstractImage &ioImage, double iBrightness, ProgressNotifier &iNotifier) const =0 |
Change brightness on selected channels, based on the RGB color model. | |
virtual bool | AdjustContrast (AbstractImage &ioImage, double iContrast, ProgressNotifier &iNotifier) const =0 |
Change contrast on selected channels, based on the RGB color model. | |
virtual bool | AdjustGamma (AbstractImage &ioImage, double iGamma, ProgressNotifier &iNotifier) const =0 |
Gamma correction on selected channels, based on the RGB color model. | |
virtual bool | AdjustBCG (AbstractImage &ioImage, double iBrightness, double iContrast, double iGamma, ProgressNotifier &iNotifier) const =0 |
Change brightness + contrast + gamma correction, based on the RGB color model. | |
virtual bool | AdjustHueSaturation (AbstractImage &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier) const =0 |
Hue and Saturation adjustment, based on the HLS color model. | |
virtual bool | Desaturate (AbstractImage &ioImage, double iFactor, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Adjust the Saturation by a multiplier factor, based on the HLS color model. | |
virtual bool | Colorize (AbstractImage &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier) const =0 |
Colorize an image setting a hue and saturation, based on the HLS color model. | |
virtual bool | Balance (AbstractImage &ioImage, double iRed, double iGreen, double iBlue, ProgressNotifier &iNotifier) const =0 |
The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model. | |
virtual bool | AdjustMidtone (AbstractImage &ioImage, double iMidtone, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Midtone correction on selected channels. | |
virtual bool | AdjustSigmoid (AbstractImage &ioImage, double iAlpha, double iBeta, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Adjust Sigmoid on selected channels. | |
virtual bool | AdjustShadowHighlight (AbstractImage &ioImage, double iShadow, double iHighlight, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Shadow and highlight adjustment. | |
virtual bool | Posterize (AbstractImage &ioImage, uint32 iLevels, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
The Posterize effect lets you adjust the number of brightness levels of the image. | |
virtual bool | Solarize (AbstractImage &ioImage, double iThreshold, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
The Solarize effect blends an image by inverting all color data when intensity value is greater than a threshold. | |
virtual bool | Blend (AbstractImage &ioImage, const AbstractImage &iImage, double iScalar, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Blend two images by a scalar in range [0..1]. | |
virtual boost::shared_ptr < AbstractImage > | CreateBinarized (const AbstractImage &iImage, double iThreshold, bool ibNegative, uint32 iChannelMask, ProgressNotifier &iNotifier) const =0 |
Interface defining point to point image processing functionnalities.
See Characteristics of Image Operations.
Main of point to point processing functionnalities are based on histogram operations.
For more info see articles :
virtual bool eLynx::Image::IImagePointProcessing::AdjustBCG | ( | AbstractImage & | ioImage, |
double | iBrightness, | ||
double | iContrast, | ||
double | iGamma, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Change brightness + contrast + gamma correction, based on the RGB color model.
Optimizations: multicore, look up table.
ioImage | image to process. |
iBrightness | brightness coefficient in range -1.0, +1.0. 0.0 is neutral value. |
iContrast | contrast coefficient in range -1.0, +1.0. 0.0 is neutral value. |
iGamma | gamma value in range 0.001, +4.0. 1.0 is neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustBrightness | ( | AbstractImage & | ioImage, |
double | iBrightness, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Change brightness on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() less brightness(-0.3) | ![]() ![]() original | ![]() ![]() more brightness(+0.3) |
ioImage | image to process. |
iBrightness | brightness coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustContrast | ( | AbstractImage & | ioImage, |
double | iContrast, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Change contrast on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() less contrast(-0.4) | ![]() ![]() original | ![]() ![]() more contrast(+0.4) |
ioImage | image to process. |
iContrast | contrast coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustGamma | ( | AbstractImage & | ioImage, |
double | iGamma, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Gamma correction on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() gamma(0.5) | ![]() ![]() original | ![]() ![]() gamma(3.0) |
ioImage | image to process. |
iGamma | gamma value in range 0.001, +4.0. 1.0 is neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustHueSaturation | ( | AbstractImage & | ioImage, |
double | iHue, | ||
double | iSaturation, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Hue and Saturation adjustment, based on the HLS color model.
Optimizations: multicore.
ioImage | image to process. |
iHue | hue adjustment in range [0..1]. |
iSaturation | Saturation adjustment in range [0..1]. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustMidtone | ( | AbstractImage & | ioImage, |
double | iMidtone, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Midtone correction on selected channels.
Optimizations: multicore, look up table.
![]() ![]() Midtone(0.2) | ![]() ![]() original | ![]() ![]() Midtone(0.7) |
ioImage | image to process. |
iMidtone | value in range 0.001, 0.999. 0.5 is neutral value. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustShadowHighlight | ( | AbstractImage & | ioImage, |
double | iShadow, | ||
double | iHighlight, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Shadow and highlight adjustment.
Optimizations: multicore, look up table.
ioImage | image to process. |
iShadow | adjustment in range [0..1]. |
iHighlight | adjustment in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::AdjustSigmoid | ( | AbstractImage & | ioImage, |
double | iAlpha, | ||
double | iBeta, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Adjust Sigmoid on selected channels.
Optimizations: multicore, look up table.
![]() ![]() Sigmoid(2.0, 0.25) | ![]() ![]() original | ![]() ![]() Sigmoid(0.5, 0.75) |
ioImage | image to process. |
iAlpha | scale factor in range [0.0, 10.0], 1.0 is neutral value. |
iBeta | offset in range [0.0, 1.0], 0.5 is neutral value. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Balance | ( | AbstractImage & | ioImage, |
double | iRed, | ||
double | iGreen, | ||
double | iBlue, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() original | ![]() ![]() Balance(0.8, 1.1, 0.5) |
In example with RGB image: red channel is scaled by 0.8, green by 1.1 and blue by 0.5.
ioImage | image to process. |
iRed | the red factor. |
iGreen | the green factor. |
iBlue | the blue factor. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Blend | ( | AbstractImage & | ioImage, |
const AbstractImage & | iImage, | ||
double | iScalar, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Blend two images by a scalar in range [0..1].
Resulting image is computed as: Notes that images should have the same sizes and same format otherwise it fails and the ioImage is kept unchanged. Optimizations: multicore.
ioImage | first and output image. |
iImage | second image to be blend with the first. |
iScalar | Blending scalar in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Colorize | ( | AbstractImage & | ioImage, |
double | iHue, | ||
double | iSaturation, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Colorize an image setting a hue and saturation, based on the HLS color model.
Optimizations: multicore.
![]() ![]() original | ![]() ![]() Colorize(0.10, 0.54) with Sepia tone |
ioImage | image to process. |
iHue | Hue in normalised range [0.0, 1.0]. |
iSaturation | Saturation in normalised range [0.0, 1.0]. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Desaturate | ( | AbstractImage & | ioImage, |
double | iFactor, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
Adjust the Saturation by a multiplier factor, based on the HLS color model.
Optimizations: multicore.
ioImage | image to process. |
iFactor | saturation multiplier factor. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Posterize | ( | AbstractImage & | ioImage, |
uint32 | iLevels, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
The Posterize effect lets you adjust the number of brightness levels of the image.
Optimizations: look up table.
![]() ![]() original | ![]() ![]() Posterize(3) |
ioImage | image to process. |
iLevels | numbers of levels for all image dynamic range. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.
virtual bool eLynx::Image::IImagePointProcessing::Solarize | ( | AbstractImage & | ioImage, |
double | iThreshold, | ||
uint32 | iChannelMask, | ||
ProgressNotifier & | iNotifier | ||
) | const [pure virtual] |
The Solarize effect blends an image by inverting all color data when intensity value is greater than a threshold.
Optimizations: multicore, look up table.
![]() ![]() original | ![]() ![]() Solarize(0.6) |
ioImage | image to process. |
iThreshold | level in range [0, 1] when negative occurs. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.