enhance.c File Reference

#include "magick/studio.h"
#include "magick/artifact.h"
#include "magick/cache.h"
#include "magick/cache-view.h"
#include "magick/color.h"
#include "magick/color-private.h"
#include "magick/colorspace.h"
#include "magick/composite-private.h"
#include "magick/enhance.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/histogram.h"
#include "magick/image.h"
#include "magick/image-private.h"
#include "magick/memory_.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/option.h"
#include "magick/quantum.h"
#include "magick/quantum-private.h"
#include "magick/resample.h"
#include "magick/resample-private.h"
#include "magick/statistic.h"
#include "magick/string_.h"
#include "magick/thread-private.h"
#include "magick/token.h"
#include "magick/xml-tree.h"
Include dependency graph for enhance.c:

Go to the source code of this file.

Defines

#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 HaldClutImageTag   "Clut/Image"
#define LevelImageTag   "Level/Image"
#define LevelValue(x)
#define LevelizeImageTag   "Levelize/Image"
#define LevelizeValue(x)
#define LinearStretchImageTag   "LinearStretch/Image"
#define ModulateImageTag   "Modulate/Image"
#define NegateImageTag   "Negate/Image"
#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 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)
MagickExport MagickBooleanType GammaImage (Image *image, const char *level)
MagickExport MagickBooleanType GammaImageChannel (Image *image, const ChannelType channel, const double gamma)
static size_t MagickMin (const size_t x, const size_t y)
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)
MagickExport MagickBooleanType LevelizeImage (Image *image, const double black_point, const double white_point, const double gamma)
MagickExport MagickBooleanType LevelImageChannel (Image *image, const ChannelType channel, 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 ModulateHSB (const double percent_hue, const double percent_saturation, const double percent_brightness, 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 ModulateHWB (const double percent_hue, const double percent_whiteness, const double percent_blackness, 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)
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)

Define Documentation

#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) r->red+pixel.red)/2; \
  distance=(MagickRealType) r->red-(MagickRealType) pixel.red; \
  distance_squared=QuantumScale*(2.0*((MagickRealType) QuantumRange+1.0)+ \
     mean)*distance*distance; \
  mean=((MagickRealType) r->green+pixel.green)/2; \
  distance=(MagickRealType) r->green-(MagickRealType) pixel.green; \
  distance_squared+=4.0*distance*distance; \
  mean=((MagickRealType) r->blue+pixel.blue)/2; \
  distance=(MagickRealType) r->blue-(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)*r->red; \
      aggregate.green+=(weight)*r->green; \
      aggregate.blue+=(weight)*r->blue; \
      aggregate.opacity+=(weight)*r->opacity; \
      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 HaldClutImageTag   "Clut/Image"

Referenced by HaldClutImageChannel().

#define LevelImageTag   "Level/Image"

Referenced by LevelImageChannel().

#define LevelizeImageTag   "Levelize/Image"

Referenced by LevelizeImageChannel().

#define LevelizeValue (  ) 
Value:
(RoundToQuantum(((MagickRealType) \
  pow((double)(QuantumScale*(x)),1.0/gamma))*(white_point-black_point)+ \
  black_point))

Referenced by LevelizeImageChannel().

#define LevelValue (  ) 
Value:
(RoundToQuantum((MagickRealType) QuantumRange* \
  pow(((double) (x)-black_point)/(white_point-black_point),1.0/gamma)))

Referenced by LevelImageChannel().

#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 SigmoidalContrastImageTag   "SigmoidalContrast/Image"

Function Documentation

MagickExport MagickBooleanType AutoGammaImage ( Image image  ) 

Definition at line 103 of file enhance.c.

References AutoGammaImageChannel(), and DefaultChannels.

MagickExport MagickBooleanType AutoGammaImageChannel ( Image image,
const ChannelType  channel 
)
MagickExport MagickBooleanType AutoLevelImage ( Image image  ) 

Definition at line 210 of file enhance.c.

References AutoLevelImageChannel(), and DefaultChannels.

MagickExport MagickBooleanType AutoLevelImageChannel ( Image image,
const ChannelType  channel 
)

Definition at line 215 of file enhance.c.

References MinMaxStretchImage().

Referenced by AutoLevelImage().

MagickExport MagickBooleanType ClutImage ( Image image,
const Image clut_image 
)

Definition at line 607 of file enhance.c.

References ClutImageChannel(), and DefaultChannels.

MagickExport MagickBooleanType ClutImageChannel ( Image image,
const ChannelType  channel,
const Image clut_image 
)
MagickExport MagickBooleanType ColorDecisionListImage ( Image image,
const char *  color_correction_collection 
)
static void Contrast ( const int  sign,
Quantum red,
Quantum green,
Quantum blue 
) [static]

Definition at line 818 of file enhance.c.

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

Referenced by ContrastImage().

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 Image* EnhanceImage ( const Image image,
ExceptionInfo exception 
)
MagickExport MagickBooleanType EqualizeImage ( Image image  ) 

Definition at line 1640 of file enhance.c.

References DefaultChannels, and EqualizeImageChannel().

Referenced by EmbossImage().

MagickExport MagickBooleanType EqualizeImageChannel ( Image image,
const ChannelType  channel 
)
MagickExport MagickBooleanType GammaImage ( Image image,
const char *  level 
)
MagickExport MagickBooleanType GammaImageChannel ( Image image,
const ChannelType  channel,
const double  gamma 
)
MagickExport MagickBooleanType HaldClutImage ( Image image,
const Image hald_image 
)

Definition at line 2152 of file enhance.c.

References DefaultChannels, and HaldClutImageChannel().

MagickExport MagickBooleanType HaldClutImageChannel ( Image image,
const ChannelType  channel,
const Image hald_image 
)
MagickExport MagickBooleanType LevelColorsImage ( Image image,
const MagickPixelPacket black_color,
const MagickPixelPacket white_color,
const MagickBooleanType  invert 
)

Definition at line 2777 of file enhance.c.

References DefaultChannels, and LevelColorsImageChannel().

Referenced by SetImageAlphaChannel().

MagickExport MagickBooleanType LevelColorsImageChannel ( Image image,
const ChannelType  channel,
const MagickPixelPacket black_color,
const MagickPixelPacket white_color,
const MagickBooleanType  invert 
)
MagickExport MagickBooleanType LevelImage ( Image image,
const char *  levels 
)
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 
)

Definition at line 2451 of file enhance.c.

References DefaultChannels, and LevelizeImageChannel().

Referenced by LevelImage().

MagickExport MagickBooleanType LevelizeImageChannel ( Image image,
const ChannelType  channel,
const double  black_point,
const double  white_point,
const double  gamma 
)
MagickExport MagickBooleanType LinearStretchImage ( Image image,
const double  black_point,
const double  white_point 
)
static size_t MagickMin ( const size_t  x,
const size_t  y 
) [inline, static]

Definition at line 2145 of file enhance.c.

Referenced by HaldClutImageChannel().

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

Definition at line 2984 of file enhance.c.

References ConvertHSBToRGB(), and ConvertRGBToHSB().

Referenced by ModulateImage().

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

Definition at line 3010 of file enhance.c.

References ConvertHSLToRGB(), and ConvertRGBToHSL().

Referenced by ModulateImage().

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

Definition at line 3036 of file enhance.c.

References ConvertHWBToRGB(), and ConvertRGBToHWB().

Referenced by ModulateImage().

MagickExport MagickBooleanType ModulateImage ( Image image,
const char *  modulate 
)
MagickExport MagickBooleanType NegateImage ( Image image,
const MagickBooleanType  grayscale 
)

Definition at line 3256 of file enhance.c.

References DefaultChannels, and NegateImageChannel().

Referenced by CharcoalImage(), ClipImagePath(), DrawClipPath(), and SketchImage().

MagickExport MagickBooleanType NegateImageChannel ( Image image,
const ChannelType  channel,
const MagickBooleanType  grayscale 
)
MagickExport MagickBooleanType NormalizeImage ( Image image  ) 

Definition at line 3481 of file enhance.c.

References DefaultChannels, and NormalizeImageChannel().

Referenced by CharcoalImage(), SepiaToneImage(), and SketchImage().

MagickExport MagickBooleanType NormalizeImageChannel ( Image image,
const ChannelType  channel 
)

Definition at line 3490 of file enhance.c.

References _Image::columns, ContrastStretchImageChannel(), and _Image::rows.

Referenced by NormalizeImage().

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 
)

Generated on 19 Nov 2009 for MagickCore by  doxygen 1.6.1