Back to FabImage Library Lite websiteYou are here:
Start »
Image Local Transforms »
SmoothImage_Mean
Header: | FIL.h |
Namespace: | fil |
Smooths an image by averaging pixels within a rectangular kernel.
Syntax
void fil::SmoothImage_Mean
(
const fil::Image& inImage,
ftl::Optional<const fil::Region&> inRoi,
ftl::Optional<const fil::Region&> inSourceRoi,
ftl::Optional<fil::Pixel> inBorderColor,
fil::KernelShape::Type inKernel,
int inRadiusX,
ftl::Optional<int> inRadiusY,
fil::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
SmoothImage_Mean performed on a sample image with inRadiusX = 4.
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. |