Represents a filter kernel to use in convoluting an image.
More...
#include <juce_ImageConvolutionKernel.h>
Represents a filter kernel to use in convoluting an image.
- See also
- Image::applyConvolution
◆ ImageConvolutionKernel()
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::~ImageConvolutionKernel |
( |
| ) |
|
◆ applyToImage()
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 | 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 |
◆ clear()
void ImageConvolutionKernel::clear |
( |
| ) |
|
Resets all values in the kernel to zero.
◆ createGaussianBlur()
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). |
◆ getKernelSize()
int ImageConvolutionKernel::getKernelSize |
( |
| ) |
const |
|
inline |
Returns the size of the kernel.
E.g. if it's a 3x3 kernel, this returns 3.
◆ getKernelValue()
float ImageConvolutionKernel::getKernelValue |
( |
int |
x, |
|
|
int |
y |
|
) |
| const |
|
noexcept |
Returns one of the kernel values.
◆ rescaleAllValues()
void ImageConvolutionKernel::rescaleAllValues |
( |
float |
multiplier | ) |
|
Multiplies all values in the kernel by a value.
◆ setKernelValue()
void ImageConvolutionKernel::setKernelValue |
( |
int |
x, |
|
|
int |
y, |
|
|
float |
value |
|
) |
| |
|
noexcept |
◆ 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).
◆ size
const int ImageConvolutionKernel::size |
|
private |
◆ values
HeapBlock<float> ImageConvolutionKernel::values |
|
private |
The documentation for this class was generated from the following file: