Back to Adaptive Vision Library website
You are here: Start » Function Reference » Image » Image Local Transforms » SmoothImage_Mean
Header: | AVL.h |
---|---|
Namespace: | avl |
Module: | FoundationLite |
Smooths an image by averaging pixels within a rectangular kernel.
Applications: Usually used for computing features related to local image "windows". Can be also used for noise removal, but Gauss is superior here.
Syntax
C++
C#
void avl::SmoothImage_Mean ( const avl::Image& inImage, atl::Optional<const avl::Region&> inRoi, atl::Optional<const avl::Region&> inSourceRoi, atl::Optional<avl::Pixel> inBorderColor, avl::KernelShape::Type inKernel, int inRadiusX, atl::Optional<int> inRadiusY, avl::Image& outImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Input image | |||
inRoi | Optional<const Region&> | NIL | Range of outImage pixels to be computed | ||
inSourceRoi | Optional<const Region&> | NIL | Range of inImage pixels to be read | ||
inBorderColor | Optional<Pixel> | NIL | Color of the imaginary pixels outside the image boundaries | ||
inKernel | KernelShape::Type | Kernel shape | |||
inRadiusX | int | 0 - | 1 | Nearly half of the kernel's width (2*R+1) | |
inRadiusY | Optional<int> | 0 - | NIL | Nearly half of the kernel's height (2*R+1), or same as inRadiusX | |
outImage | Image& | Output image |
Description
Replaces each pixel with the average of all pixels contained in a rectangular kernel.
The width of the kernel is 2 * inRadiusX + 1, the height is 2 * inRadiusY + 1.
When inRadiusY is set to Auto, then its value is implicitly copied from inRadiusX.
Hints
- Define the size of the kernel by setting inRadiusX and - optionally - inRadiusY.
- Highest performance will be achieved with inKernel = Box. Other kernel shapes will result is longer execution time.
- Define inSourceRoi is some pixels of the input images should be ignored (advanced).
Examples
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | inBorderColor is relevant only when inSourceRoi is set to Auto (NIL) in SmoothImage_Mean. |
DomainError | Not supported kernel on input in SmoothImage_Mean. |
DomainError | Region exceeds an input image in SmoothImage_Mean. |