Loading...
Searching...
No Matches
juce::ImageConvolutionKernel Class Reference

## Detailed Description

Represents a filter kernel to use in convoluting an image.

See also
  Image::applyConvolution

The documentation for this class was generated from the following file:

- juce_graphics/images/juce_ImageConvolutionKernel.h

## Public Member Functions

| ImageConvolutionKernel (int size)
| Creates an empty convolution kernel.
| ~ImageConvolutionKernel ()
| Destructor.
void | clear ()
| Resets all values in the kernel to zero.
float | getKernelValue (int x, int y) const noexcept
| Returns one of the kernel values.
void | setKernelValue (int x, int y, float value) noexcept
| 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)
| Initialises 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.

## Constructors and Destructors

## ImageConvolutionKernel()

juce::ImageConvolutionKernel::ImageConvolutionKernel | ( | int | size | ) |

Creates an empty convolution 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

Referenced by applyToImage().

## ~ImageConvolutionKernel()

juce::ImageConvolutionKernel::~ImageConvolutionKernel | ( |  | ) |

Destructor.

## Member Functions

## clear()

void juce::ImageConvolutionKernel::clear | ( |  | ) |

Resets all values in the kernel to zero.

## getKernelValue()

float juce::ImageConvolutionKernel::getKernelValue | ( | int | x,
|  | int | y ) const

noexcept

Returns one of the kernel values.

References x, and y.

## setKernelValue()

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

noexcept

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

References x, and y.

## setOverallSum()

void juce::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).

## rescaleAllValues()

void juce::ImageConvolutionKernel::rescaleAllValues | ( | float | multiplier | ) |

Multiplies all values in the kernel by a value.

## createGaussianBlur()

void juce::ImageConvolutionKernel::createGaussianBlur | ( | float | blurRadius | ) |

Initialises 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).

## getKernelSize()

int juce::ImageConvolutionKernel::getKernelSize | ( |  | ) | const

inline

Returns the size of the kernel.

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

## applyToImage()

void juce::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 | the source image to read from - this can be the same image as the destination, but if different, it must be exactly the same size and format.
  destinationArea | the region of the image to apply the filter to

References ImageConvolutionKernel().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited