Back to Adaptive Vision Library Lite website

You are here: Start » Image Local Transforms » SmoothImage_Gauss


Smooths an image using a gaussian kernel.


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


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


  • 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.


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 supports automatic parallelization for multicore and multiprocessor systems.