You are here: Start » Image » Image Local Transforms » OpenImage
OpenImage
Header: | AVL.h |
---|---|
Namespace: | avl |
Removes small bright structures from an image (or fills in dark ones) by applying consecutive erosion and dilation.
Applications: E.g. removal of the "salt" component of salt-and-pepper noise.
Syntax
void avl::OpenImage ( 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, avl::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 | 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 | |||
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.
Examples
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 OpenImage. |