ImageConvolutionKernel Class Reference

Represents a filter kernel to use in convoluting an image. More...

List of all members.

Public Member Functions

 ImageConvolutionKernel (int size)
 Creates an empty convulution kernel.
 ~ImageConvolutionKernel ()
 Destructor.
void clear ()
 Resets all values in the kernel to zero.
float getKernelValue (int x, int y) const throw ()
 Returns one of the kernel values.
void setKernelValue (int x, int y, float value) throw ()
 Sets the value of a specific cell in the kernel.
void setOverallSum (float desiredTotalSum)
 Rescales all values in the kernel to make the total add up to a fixed value.
void rescaleAllValues (float multiplier)
 Multiplies all values in the kernel by a value.
void createGaussianBlur (float blurRadius)
 Intialises the kernel for a gaussian blur.
int getKernelSize () const
 Returns the size of the kernel.
void applyToImage (Image &destImage, const Image *sourceImage, const Rectangle< int > &destinationArea) const
 Applies the kernel to an image.

Detailed Description

Represents a filter kernel to use in convoluting an image.

See also:
Image::applyConvolution

Constructor & Destructor Documentation

ImageConvolutionKernel::ImageConvolutionKernel ( int  size  ) 

Creates an empty convulution kernel.

Parameters:
size the length of each dimension of the kernel, so e.g. if the size is 5, it will create a 5x5 kernel
ImageConvolutionKernel::~ImageConvolutionKernel (  ) 

Destructor.


Member Function Documentation

void ImageConvolutionKernel::clear (  ) 

Resets all values in the kernel to zero.

float ImageConvolutionKernel::getKernelValue ( int  x,
int  y 
) const throw ()

Returns one of the kernel values.

void ImageConvolutionKernel::setKernelValue ( int  x,
int  y,
float  value 
) throw ()

Sets the value of a specific cell in the kernel.

The x and y parameters must be in the range 0 < x < getKernelSize().

See also:
setOverallSum
void ImageConvolutionKernel::setOverallSum ( float  desiredTotalSum  ) 

Rescales all values in the kernel to make the total add up to a fixed value.

This will multiply all values in the kernel by (desiredTotalSum / currentTotalSum).

void ImageConvolutionKernel::rescaleAllValues ( float  multiplier  ) 

Multiplies all values in the kernel by a value.

void ImageConvolutionKernel::createGaussianBlur ( float  blurRadius  ) 

Intialises the kernel for a gaussian blur.

Parameters:
blurRadius this may be larger or smaller than the kernel's actual size but this will obviously be wasteful or clip at the edges. Ideally the kernel should be just larger than (blurRadius * 2).
int ImageConvolutionKernel::getKernelSize (  )  const

Returns the size of the kernel.

E.g. if it's a 3x3 kernel, this returns 3.

void ImageConvolutionKernel::applyToImage ( Image destImage,
const Image sourceImage,
const Rectangle< int > &  destinationArea 
) const

Applies the kernel to an image.

Parameters:
destImage the image that will receive the resultant convoluted pixels.
sourceImage an optional source image to read from - if this is 0, then the destination image will be used as the source. If an image is specified, it must be exactly the same size and type as the destination image.
destinationArea the region of the image to apply the filter to

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Apr 26 11:42:12 2010 for JUCE by  doxygen 1.6.3