Back to FabImage Library website
You are here: Start » Function Reference » Image » Image Local Transforms » SmoothImage_Median
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Replaces each pixel with the median of pixels within a kernel.
Applications: Edge-preserving noise removal (but slow).
Syntax
C++
C#
void fil::SmoothImage_Median ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inRoi, ftl::Optional<const fil::Region&> inSourceRoi, fil::SmoothImageMedianKernel::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 being written | ||
inSourceRoi | Optional<const Region&> | NIL | Range of inImage pixels being read | ||
inKernel | SmoothImageMedianKernel::Type | ||||
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 |
Requirements
For input inImage only pixel formats are supported: uint8.
Read more about pixel formats in Image documentation.
Hints
- Define the kernel size by setting the inRadiusX and inRadiusY inputs.
- For small kernels consider switching to SmoothImage_Median_Mask to achieve higher performance.
Examples
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Not supported kernel in SmoothImage_Median. |
DomainError | Not supported pixel format in SmoothImage_Median. |
DomainError | Region exceeds an input image in SmoothImage_Median. |
DomainError | Source roi exceeds an input image in SmoothImage_Median. |
DomainError | Not supported inImage pixel format in SmoothImage_Median. Supported formats: UInt8. |