Back to Aurora Vision Library Lite website
You are here: Start » Image » Image Local Transforms » SmoothImage_Mean
SmoothImage_Mean
Header: | AVL.h |
---|---|
Namespace: | avl |
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
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 is optimized for PARALLEL SSE2 technology for pixels of types: UINT8, SINT8, SINT16, SINT32, 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, SINT8, SINT16, SINT32, REAL, UINT16.
This operation is optimized for NEON technology for pixels of types: UINT8, UINT16.
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. |