Back to Adaptive Vision Library website
You are here: Start » Function Reference » Image Local Transforms » SmoothImage_Gauss
Smooths an image using a gaussian kernel.
Syntax
C++
C#
void avl::SmoothImage_Gauss ( const avl::Image& inImage, atl::Optional<const avl::Region&> inRoi, float inStdDevX, atl::Optional<float> inStdDevY, const float inKernelRelativeSize, avl::Image& outImage, int& diagKernelRadiusX, int& diagKernelRadiusY )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Input image | |||
inRoi | Optional<const Region&> | NIL | Range of output pixels to be computed | ||
inStdDevX | float | 0.0 - | 1.0f | Horizontal smoothing standard deviation | |
inStdDevY | Optional<float> | 0.0 - | NIL | Vertical smoothing standard deviation | |
inKernelRelativeSize | const float | 0.0 - 3.0 | 2.0f | A multiple of the standard deviation determining the size of the kernel | |
outImage | Image& | Output image | |||
diagKernelRadiusX | int& | Horizontal radius of Gaussian kernel being used | |||
diagKernelRadiusY | int& | Vertical radius of Gaussian kernel being used |
Hints
- To make smoothing stronger, increase the inStdDevX and - optionally - inStdDevY.
- Increase inKernelRelativeSize to achieve better quality at the cost of a bit longer execution time.
- For small kernels consider switching to SmoothImage_Gauss_Mask to achieve the highest performance.
Examples
Hardware Acceleration
This operation is optimized for SSE2 technology for pixels of types: UINT8, SINT16, REAL.
This operation supports automatic parallelization for multicore and multiprocessor systems.