You are here: Start » Function Reference » Image » Image Local Transforms » SmoothImage_Gauss
| Header: | AVL.h | 
|---|---|
| Namespace: | avl | 
| Module: | FoundationLite | 
Smooths an image using a gaussian kernel.
Applications: Removal of gaussian noise from images.
Syntax
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
![]()  | 
		![]()  | 
	
SmoothImage_Gauss performed on a sample image with inStdDevX = 3.0.
Hardware Acceleration
This operation is optimized for SSE2 technology for pixels of types: UINT8, SINT16, REAL.
This operation is optimized for SSE41 technology for pixels of type: UINT16.
This operation is optimized for AVX2 technology for pixels of types: UINT8, SINT16, UINT16, REAL.
This operation is optimized for NEON technology for pixels of types: UINT8, SINT16, UINT16, REAL.
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
List of possible exceptions:
| Error type | Description | 
|---|---|
| DomainError | Region exceeds an input image in SmoothImage_Gauss. | 






