MagickCore  6.8.5
enhance.c File Reference
Include dependency graph for enhance.c:

Macros

#define BrightnessContastImageTag   "BrightnessContast/Image"
#define ColorDecisionListCorrectImageTag   "ColorDecisionList/Image"
#define ClutImageTag   "Clut/Image"
#define ContrastImageTag   "Contrast/Image"
#define MaxRange(color)   ((MagickRealType) ScaleQuantumToMap((Quantum) (color)))
#define ContrastStretchImageTag   "ContrastStretch/Image"
#define Enhance(weight)
#define EnhanceImageTag   "Enhance/Image"
#define EqualizeImageTag   "Equalize/Image"
#define GammaCorrectImageTag   "GammaCorrect/Image"
#define GrayscaleImageTag   "Grayscale/Image"
#define HaldClutImageTag   "Clut/Image"
#define LevelImageTag   "Level/Image"
#define LevelizeImageTag   "Levelize/Image"
#define LevelizeValue(x)
#define LinearStretchImageTag   "LinearStretch/Image"
#define ModulateImageTag   "Modulate/Image"
#define NegateImageTag   "Negate/Image"
#define Sigmoidal(a, b, x)   ( 1.0/(1.0+exp((a)*((b)-(x)))) )
#define ScaledSigmoidal(a, b, x)
#define SigmoidalContrastImageTag   "SigmoidalContrast/Image"

Functions

MagickExport MagickBooleanType AutoGammaImage (Image *image)
MagickExport MagickBooleanType AutoGammaImageChannel (Image *image, const ChannelType channel)
MagickExport MagickBooleanType AutoLevelImage (Image *image)
MagickExport MagickBooleanType AutoLevelImageChannel (Image *image, const ChannelType channel)
MagickExport MagickBooleanType BrightnessContrastImage (Image *image, const double brightness, const double contrast)
MagickExport MagickBooleanType BrightnessContrastImageChannel (Image *image, const ChannelType channel, const double brightness, const double contrast)
MagickExport MagickBooleanType ColorDecisionListImage (Image *image, const char *color_correction_collection)
MagickExport MagickBooleanType ClutImage (Image *image, const Image *clut_image)
MagickExport MagickBooleanType ClutImageChannel (Image *image, const ChannelType channel, const Image *clut_image)
static void Contrast (const int sign, Quantum *red, Quantum *green, Quantum *blue)
MagickExport MagickBooleanType ContrastImage (Image *image, const MagickBooleanType sharpen)
MagickExport MagickBooleanType ContrastStretchImage (Image *image, const char *levels)
MagickExport MagickBooleanType ContrastStretchImageChannel (Image *image, const ChannelType channel, const double black_point, const double white_point)
MagickExport ImageEnhanceImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType EqualizeImage (Image *image)
MagickExport MagickBooleanType EqualizeImageChannel (Image *image, const ChannelType channel)
static double gamma_pow (const double value, const double gamma)
MagickExport MagickBooleanType GammaImage (Image *image, const char *level)
MagickExport MagickBooleanType GammaImageChannel (Image *image, const ChannelType channel, const double gamma)
static MagickRealType MagickMax (const MagickRealType x, const MagickRealType y)
static MagickRealType MagickMin (const MagickRealType x, const MagickRealType y)
MagickExport MagickBooleanType GrayscaleImage (Image *image, const PixelIntensityMethod method)
MagickExport MagickBooleanType HaldClutImage (Image *image, const Image *hald_image)
MagickExport MagickBooleanType HaldClutImageChannel (Image *image, const ChannelType channel, const Image *hald_image)
MagickExport MagickBooleanType LevelImage (Image *image, const char *levels)
static double LevelPixel (const double black_point, const double white_point, const double gamma, const MagickRealType pixel)
MagickExport MagickBooleanType LevelImageChannel (Image *image, const ChannelType channel, const double black_point, const double white_point, const double gamma)
MagickExport MagickBooleanType LevelizeImage (Image *image, const double black_point, const double white_point, const double gamma)
MagickExport MagickBooleanType LevelizeImageChannel (Image *image, const ChannelType channel, const double black_point, const double white_point, const double gamma)
MagickExport MagickBooleanType LevelColorsImage (Image *image, const MagickPixelPacket *black_color, const MagickPixelPacket *white_color, const MagickBooleanType invert)
MagickExport MagickBooleanType LevelColorsImageChannel (Image *image, const ChannelType channel, const MagickPixelPacket *black_color, const MagickPixelPacket *white_color, const MagickBooleanType invert)
MagickExport MagickBooleanType LinearStretchImage (Image *image, const double black_point, const double white_point)
static void ModulateHCL (const double percent_hue, const double percent_chroma, const double percent_luma, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHCLp (const double percent_hue, const double percent_chroma, const double percent_luma, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHSB (const double percent_hue, const double percent_saturation, const double percent_brightness, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHSI (const double percent_hue, const double percent_saturation, const double percent_intensity, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHSL (const double percent_hue, const double percent_saturation, const double percent_lightness, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHSV (const double percent_hue, const double percent_saturation, const double percent_value, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateHWB (const double percent_hue, const double percent_whiteness, const double percent_blackness, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateLCHab (const double percent_luma, const double percent_chroma, const double percent_hue, Quantum *red, Quantum *green, Quantum *blue)
static void ModulateLCHuv (const double percent_luma, const double percent_chroma, const double percent_hue, Quantum *red, Quantum *green, Quantum *blue)
MagickExport MagickBooleanType ModulateImage (Image *image, const char *modulate)
MagickExport MagickBooleanType NegateImage (Image *image, const MagickBooleanType grayscale)
MagickExport MagickBooleanType NegateImageChannel (Image *image, const ChannelType channel, const MagickBooleanType grayscale)
MagickExport MagickBooleanType NormalizeImage (Image *image)
MagickExport MagickBooleanType NormalizeImageChannel (Image *image, const ChannelType channel)
static double InverseScaledSigmoidal (const double a, const double b, const double x)
MagickExport MagickBooleanType SigmoidalContrastImage (Image *image, const MagickBooleanType sharpen, const char *levels)
MagickExport MagickBooleanType SigmoidalContrastImageChannel (Image *image, const ChannelType channel, const MagickBooleanType sharpen, const double contrast, const double midpoint)

Macro Definition Documentation

#define BrightnessContastImageTag   "BrightnessContast/Image"
#define ClutImageTag   "Clut/Image"

Referenced by ClutImageChannel().

#define ColorDecisionListCorrectImageTag   "ColorDecisionList/Image"

Referenced by ColorDecisionListImage().

#define ContrastImageTag   "Contrast/Image"

Referenced by ContrastImage().

#define ContrastStretchImageTag   "ContrastStretch/Image"
#define Enhance (   weight)
Value:
mean=((MagickRealType) GetPixelRed(r)+pixel.red)/2; \
distance=(MagickRealType) GetPixelRed(r)-(MagickRealType) pixel.red; \
distance_squared=QuantumScale*(2.0*((MagickRealType) QuantumRange+1.0)+ \
mean)*distance*distance; \
mean=((MagickRealType) GetPixelGreen(r)+pixel.green)/2; \
distance=(MagickRealType) GetPixelGreen(r)-(MagickRealType) pixel.green; \
distance_squared+=4.0*distance*distance; \
mean=((MagickRealType) GetPixelBlue(r)+pixel.blue)/2; \
distance=(MagickRealType) GetPixelBlue(r)-(MagickRealType) pixel.blue; \
distance_squared+=QuantumScale*(3.0*((MagickRealType) QuantumRange+1.0)-1.0- \
mean)*distance*distance; \
mean=((MagickRealType) r->opacity+pixel.opacity)/2; \
distance=(MagickRealType) r->opacity-(MagickRealType) pixel.opacity; \
distance_squared+=QuantumScale*(3.0*((MagickRealType) QuantumRange+1.0)-1.0- \
mean)*distance*distance; \
if (distance_squared < ((MagickRealType) QuantumRange*(MagickRealType) \
QuantumRange/25.0f)) \
{ \
aggregate.red+=(weight)*GetPixelRed(r); \
aggregate.green+=(weight)*GetPixelGreen(r); \
aggregate.blue+=(weight)*GetPixelBlue(r); \
aggregate.opacity+=(weight)*GetPixelOpacity(r); \
total_weight+=(weight); \
} \
r++;

Referenced by EnhanceImage().

#define EnhanceImageTag   "Enhance/Image"

Referenced by EnhanceImage().

#define EqualizeImageTag   "Equalize/Image"

Referenced by EqualizeImageChannel().

#define GammaCorrectImageTag   "GammaCorrect/Image"

Referenced by GammaImageChannel().

#define GrayscaleImageTag   "Grayscale/Image"

Referenced by GrayscaleImage().

#define HaldClutImageTag   "Clut/Image"

Referenced by HaldClutImageChannel().

#define LevelImageTag   "Level/Image"

Referenced by LevelImageChannel().

#define LevelizeImageTag   "Levelize/Image"

Referenced by LevelizeImageChannel().

#define LevelizeValue (   x)
Value:
(QuantumScale*(x)),gamma))*(white_point-black_point)+black_point)

Referenced by LevelizeImageChannel().

#define LinearStretchImageTag   "LinearStretch/Image"
#define MaxRange (   color)    ((MagickRealType) ScaleQuantumToMap((Quantum) (color)))
#define ModulateImageTag   "Modulate/Image"

Referenced by ModulateImage().

#define NegateImageTag   "Negate/Image"

Referenced by NegateImageChannel().

#define ScaledSigmoidal (   a,
  b,
 
)
Value:
( \
(Sigmoidal((a),(b),(x))-Sigmoidal((a),(b),0.0)) / \
(Sigmoidal((a),(b),1.0)-Sigmoidal((a),(b),0.0)) )

Referenced by SigmoidalContrastImageChannel().

#define Sigmoidal (   a,
  b,
 
)    ( 1.0/(1.0+exp((a)*((b)-(x)))) )

Referenced by InverseScaledSigmoidal().

#define SigmoidalContrastImageTag   "SigmoidalContrast/Image"

Function Documentation

MagickExport MagickBooleanType AutoGammaImage ( Image image)
MagickExport MagickBooleanType AutoLevelImage ( Image image)
MagickExport MagickBooleanType AutoLevelImageChannel ( Image image,
const ChannelType  channel 
)

References MinMaxStretchImage().

Referenced by AutoLevelImage().

MagickExport MagickBooleanType BrightnessContrastImage ( Image image,
const double  brightness,
const double  contrast 
)
MagickExport MagickBooleanType BrightnessContrastImageChannel ( Image image,
const ChannelType  channel,
const double  brightness,
const double  contrast 
)
MagickExport MagickBooleanType ClutImage ( Image image,
const Image clut_image 
)
static void Contrast ( const int  sign,
Quantum red,
Quantum green,
Quantum blue 
)
static

References ConvertHSBToRGB(), ConvertRGBToHSB(), and MagickPI.

Referenced by ContrastImage().

MagickExport MagickBooleanType ContrastStretchImageChannel ( Image image,
const ChannelType  channel,
const double  black_point,
const double  white_point 
)
MagickExport MagickBooleanType EqualizeImage ( Image image)

References DefaultChannels, and EqualizeImageChannel().

Referenced by EmbossImage().

static double gamma_pow ( const double  value,
const double  gamma 
)
inlinestatic

Referenced by GammaImageChannel(), and LevelPixel().

MagickExport MagickBooleanType HaldClutImage ( Image image,
const Image hald_image 
)
static double InverseScaledSigmoidal ( const double  a,
const double  b,
const double  x 
)
inlinestatic

References MagickEpsilon, and Sigmoidal.

Referenced by SigmoidalContrastImageChannel().

MagickExport MagickBooleanType LevelColorsImage ( Image image,
const MagickPixelPacket black_color,
const MagickPixelPacket white_color,
const MagickBooleanType  invert 
)
MagickExport MagickBooleanType LevelizeImage ( Image image,
const double  black_point,
const double  white_point,
const double  gamma 
)

References DefaultChannels, and LevelizeImageChannel().

Referenced by LevelImage().

static double LevelPixel ( const double  black_point,
const double  white_point,
const double  gamma,
const MagickRealType  pixel 
)
inlinestatic

References gamma_pow(), and QuantumRange.

Referenced by LevelImageChannel().

static MagickRealType MagickMax ( const MagickRealType  x,
const MagickRealType  y 
)
inlinestatic

Referenced by GrayscaleImage().

static MagickRealType MagickMin ( const MagickRealType  x,
const MagickRealType  y 
)
inlinestatic
static void ModulateHCL ( const double  percent_hue,
const double  percent_chroma,
const double  percent_luma,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHCLToRGB(), and ConvertRGBToHCL().

Referenced by ModulateImage().

static void ModulateHCLp ( const double  percent_hue,
const double  percent_chroma,
const double  percent_luma,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHCLpToRGB(), and ConvertRGBToHCLp().

Referenced by ModulateImage().

static void ModulateHSB ( const double  percent_hue,
const double  percent_saturation,
const double  percent_brightness,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHSBToRGB(), and ConvertRGBToHSB().

Referenced by ModulateImage().

static void ModulateHSI ( const double  percent_hue,
const double  percent_saturation,
const double  percent_intensity,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHSIToRGB(), and ConvertRGBToHSI().

Referenced by ModulateImage().

static void ModulateHSL ( const double  percent_hue,
const double  percent_saturation,
const double  percent_lightness,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHSLToRGB(), and ConvertRGBToHSL().

Referenced by ModulateImage().

static void ModulateHSV ( const double  percent_hue,
const double  percent_saturation,
const double  percent_value,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHSVToRGB(), and ConvertRGBToHSV().

Referenced by ModulateImage().

static void ModulateHWB ( const double  percent_hue,
const double  percent_whiteness,
const double  percent_blackness,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertHWBToRGB(), and ConvertRGBToHWB().

Referenced by ModulateImage().

static void ModulateLCHab ( const double  percent_luma,
const double  percent_chroma,
const double  percent_hue,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertLCHabToRGB(), and ConvertRGBToLCHab().

Referenced by ModulateImage().

static void ModulateLCHuv ( const double  percent_luma,
const double  percent_chroma,
const double  percent_hue,
Quantum red,
Quantum green,
Quantum blue 
)
inlinestatic

References ConvertLCHuvToRGB(), and ConvertRGBToLCHuv().

Referenced by ModulateImage().

MagickExport MagickBooleanType NegateImage ( Image image,
const MagickBooleanType  grayscale 
)
MagickExport MagickBooleanType NormalizeImageChannel ( Image image,
const ChannelType  channel 
)