- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- AddNoiseImage
- BlurImage
- DespeckleImage
- EdgeImage
- EmbossImage
- EnhanceImage
- GaussianBlurImage
- MedianFilterImage
- MotionBlurImage
- ReduceNoiseImage
- ShadeImage
- SharpenImage
- SpreadImage
- ThresholdImage
- UnsharpMaskImage

# NAME

effect - ImageMagick Image Effects Methods

# SYNOPSIS

Image * AddNoiseImage( const Image *image, const NoiseType noise_type, ExceptionInfo *exception );

Image * BlurImage( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

Image * DespeckleImage( const Image *image, ExceptionInfo *exception );

Image * EdgeImage( const Image *image, const double radius, ExceptionInfo *exception );

Image * EmbossImage( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

Image * EnhanceImage( const Image *image, ExceptionInfo *exception );

Image * GaussianBlurImage( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

Image * MedianFilterImage( const Image *image, const double radius, ExceptionInfo *exception );

Image * MotionBlurImage( const Image *image, const double radius, const double sigma, const double angle, ExceptionInfo *exception );

Image * ReduceNoiseImage( const Image *image, const double radius, ExceptionInfo *exception );

Image * ShadeImage( const Image *image, const unsigned int gray, double azimuth, double elevation, ExceptionInfo *exception );

Image * SharpenImage( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

Image * SpreadImage( const Image *image, const unsigned int radius, ExceptionInfo *exception );

unsigned int ThresholdImage( Image *image, const char *threshold );

Image * UnsharpMaskImage( const Image *image, const double radius, const double sigma, const double amount, const double threshold, ExceptionInfo *exception );

# FUNCTION DESCRIPTIONS

## AddNoiseImage

> AddNoiseImage() adds random noise to the image.

The format of the AddNoiseImage method is:

> Image *AddNoiseImage ( const Image *image, const NoiseType noise_type, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o noise_type:
  The type of noise: Uniform, Gaussian, Multiplicative, Impulse, Laplacian, or Poisson.

o exception:
  Return any errors or warnings in this structure.

## BlurImage

> BlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation ( sigma ) . For reasonable results, the radius should be larger than sigma. Use a radius of 0 and BlurImage ( ) selects a suitable radius for you.

The format of the BlurImage method is:

> Image *BlurImage ( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

A description of each parameter follows:

o radius:
  The radius of the Gaussian, in pixels, not counting the center pixel.

o sigma:
  The standard deviation of the Gaussian, in pixels.

o exception:
  Return any errors or warnings in this structure.

## DespeckleImage

`Despeckle()` reduces the speckle noise in an image while perserving the edges of the original image.

The format of the DespeckleImage method is:

> Image *DespeckleImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o exception:
  Return any errors or warnings in this structure.

## EdgeImage

> EdgeImage() finds edges in an image. Radius defines the radius of the convolution filter. Use a radius of 0 and Edge ( ) selects a suitable radius for you.

The format of the EdgeImage method is:

> Image *EdgeImage ( const Image *image, const double radius, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  the radius of the pixel neighborhood.

o exception:
  Return any errors or warnings in this structure.

## EmbossImage

> EmbossImage() returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation ( sigma ) . For reasonable results, radius should be larger than sigma. Use a radius of 0 and Emboss ( ) selects a suitable radius for you.

The format of the EmbossImage method is:

> Image *EmbossImage ( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  the radius of the pixel neighborhood.

o sigma:
  The standard deviation of the Gaussian, in pixels.

o exception:
  Return any errors or warnings in this structure.

## EnhanceImage

> EnhanceImage() applies a digital filter that improves the quality of a noisy image.

The format of the EnhanceImage method is:

> Image *EnhanceImage ( const Image *image, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o exception:
  Return any errors or warnings in this structure.

## GaussianBlurImage

> GaussianBlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation ( sigma ) . For reasonable results, the radius should be larger than sigma. Use a radius of 0 and GaussianBlurImage ( ) selects a suitable radius for you

The format of the BlurImage method is:

> Image *GaussianBlurImage ( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

A description of each parameter follows:

o blur_image:
  Method GaussianBlurImage returns a pointer to the image after it is blur. A null image is returned if there is a memory shortage.

o radius:
  the radius of the Gaussian, in pixels, not counting the center pixel.

o sigma:
  the standard deviation of the Gaussian, in pixels.

o exception:
  Return any errors or warnings in this structure.

## MedianFilterImage

> MedianFilterImage() applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

The algorithm was contributed by Mike Edmonds and implements an insertion sort for selecting median color-channel values. For more on this algorithm see ``Skip Lists: A probabilistic Alternative to Balanced Trees'' by William Pugh in the June 1990 of Communications of the ACM.

The format of the MedianFilterImage method is:

> Image *MedianFilterImage ( const Image *image, const double radius, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  The radius of the pixel neighborhood.

o exception:
  Return any errors or warnings in this structure.

## MotionBlurImage

> MotionBlurImage() simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation ( sigma ) . For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage ( ) selects a suitable radius for you. Angle gives the angle of the blurring motion.

Andrew Protano contributed this effect.

The format of the MotionBlurImage method is:

> Image *MotionBlurImage ( const Image *image, const double radius, const double sigma, const double angle, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  The radius of the Gaussian, in pixels, not counting the center pixel.

o sigma:
  The standard deviation of the Gaussian, in pixels.

o angle:
  Apply the effect along this angle.

o exception:
  Return any errors or warnings in this structure.

## ReduceNoiseImage

> ReduceNoiseImage() smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and ReduceNoise ( ) selects a suitable radius for you.

The format of the ReduceNoiseImage method is:

> Image *ReduceNoiseImage ( const Image *image, const double radius, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  The radius of the pixel neighborhood.

o exception:
  Return any errors or warnings in this structure.

## ShadeImage

> ShadeImage() shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.

The format of the ShadeImage method is:

> Image *ShadeImage ( const Image *image, const unsigned int gray, double azimuth, double elevation, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o gray:
  A value other than zero shades the intensity of each pixel.

o azimuth, elevation:
  Define the light source direction.

o exception:
  Return any errors or warnings in this structure.

## SharpenImage

> SharpenImage() sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation ( sigma ) . For reasonable results, radius should be larger than sigma. Use a radius of 0 and SharpenImage ( ) selects a suitable radius for you.

The format of the SharpenImage method is:

> Image *SharpenImage ( const Image *image, const double radius, const double sigma, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  The radius of the Gaussian, in pixels, not counting the center pixel.

o sigma:
  The standard deviation of the Laplacian, in pixels.

o exception:
  Return any errors or warnings in this structure.

## SpreadImage

> SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.

The format of the SpreadImage method is:

> Image *SpreadImage ( const Image *image, const unsigned int radius, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  Choose a random pixel in a neighborhood of this extent.

o exception:
  Return any errors or warnings in this structure.

## ThresholdImage

> ThresholdImage() changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

The format of the ThresholdImage method is:

> unsigned int ThresholdImage ( Image *image, const char *threshold );

A description of each parameter follows:

o image:
  The image.

o threshold:
  Define the threshold value

## UnsharpMaskImage

> UnsharpMaskImage() sharpens an image. We convolve the image with a Gaussian operatorof the given radius and standard deviation ( sigma ) . For reasonable results, radius should be larger than sigma. Use a radius of 0 and UnsharpMaskImage ( ) selects a suitable radius for you.

The format of the UnsharpMaskImage method is:

> Image *UnsharpMaskImage ( const Image *image, const double radius, const double sigma, const double amount, const double threshold, ExceptionInfo *exception );

A description of each parameter follows:

o image:
  The image.

o radius:
  The radius of the Gaussian, in pixels, not counting the center pixel.

o sigma:
  The standard deviation of the Gaussian, in pixels.

o amount:
  The percentage of the difference between the original and the blur image that is added back into the original.

o threshold:
  The threshold in pixels needed to apply the diffence amount.

o exception:
  Return any errors or warnings in this structure.