You are here: Start » Function Reference » Image » Image Local Transforms » BottomHatImage
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Performs a morphological black top hat (bottom hat) operation on a image using a predefined kernel.
Syntax
void fil::BottomHatImage ( 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, fil::Region& diagKernel )
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 considered in computations | |
![]() |
inBorderColor | Optional<Pixel> | NIL | Color of the imaginary pixels outside the image boundaries | |
![]() |
inKernel | KernelShape::Type | Selects 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 |
![]() |
outImage | Image& | Output image | ||
![]() |
diagKernel | Region& | Kernel shape |
In-place Processing
This function supports in-place data processing - you can pass the same reference to inImage and outImage
Read more about In-place Computation.
Description
Extracts from image small objects that are darker than surroundings.
Is performed by running consecutively two filters. CloseImage to get the image without small objects and SubtractFromImage to remove everything but them.
Examples
![]() |
![]() |
Bottom Hat used to remove bigger objects. Used parameters inKernel=Ellipse and inRadiusX=6. Source image on the left and result on the right.
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 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 | Region exceeds an input image in BottomHatImage. |