Back to FabImage Library website
You are here: Start » Function Reference » Image » Image Local Transforms » SmoothImage_Middle
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Replaces each pixel with the average of maximum and minimum calculated within a kernel.
Applications: Useful for calculating per-pixel threshold values for image binarization.
Syntax
C++
C#
void fil::SmoothImage_Middle ( 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 |
Hardware Acceleration
This operation is optimized for SSE2 technology for pixels of types: all formats (when inSourceRoi = NIL and inBorderColor = NIL).
This operation is optimized for technology.
This operation is optimized for NEON technology for pixels of types: all formats (when inSourceRoi = NIL and inBorderColor = NIL).
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_Middle. |
DomainError | Not supported kernel on input in SmoothImage_Middle. |
DomainError | Region exceeds an input image in SmoothImage_Middle. |