HighMap library (C++)
Loading...
Searching...
No Matches
morphology.hpp File Reference

Header file for image morphology functions and operations. More...

Go to the source code of this file.

Namespaces

namespace  hmap
 
namespace  hmap::gpu
 

Enumerations

enum  hmap::DistanceTransformType : int { hmap::DT_EXACT , hmap::DT_APPROX , hmap::DT_MANHATTAN , hmap::DT_JFA }
 Enumeration for different types of distance transforms. More...
 
enum  hmap::MorphologyOperation : int {
  hmap::MO_BORDER , hmap::MO_CLOSING , hmap::MO_DILATION , hmap::MO_EROSION ,
  hmap::MO_OPENING , hmap::MO_BLACK_HAT , hmap::MO_TOP_HAT , hmap::MO_GRADIENT ,
  hmap::MO_LAPLACIAN , hmap::MO_CLOSING_BY_RECONSTRUCTION , hmap::MO_OPENING_BY_RECONSTRUCTION
}
 Types of base morphology operators. More...
 

Functions

Array hmap::area_remove (const Array &array, float threshold_size, float background_value=0.f, float fill_value=0.f)
 Remove connected components smaller than a given size threshold.
 
Array hmap::border (const Array &array, int ir)
 Apply a border algorithm to the input array using a square structure.
 
Array hmap::closing (const Array &array, int ir)
 Apply a closing algorithm to the input array using a square structure.
 
Array hmap::closing_by_reconstruction (const Array &array, int ir, float k_smooth_max=0.f)
 Apply closing by reconstruction to the input array.
 
Array hmap::contour_smoothing (const Array &array, int ir, float transition_ratio=0.1f)
 Smooth contour boundaries of segmented regions.
 
Array hmap::dilation (const Array &array, int ir)
 Apply a dilation algorithm to the input array using a square structure.
 
Array hmap::dilation_expand_border_only (const Array &array, int ir)
 Expand non-zero regions of an array by morphological dilation, while preserving the original non-zero values.
 
Array hmap::dilation_expand_min_value_border_only (const Array &array)
 
Array hmap::distance_transform (const Array &array, bool return_squared_distance=false)
 Return the Euclidean distance transform.
 
Array hmap::distance_transform_approx (const Array &array, bool return_squared_distance=false)
 Calculates an approximate distance transform of the input array.
 
Array hmap::distance_transform_manhattan (const Array &array, bool return_squared_distance=false)
 Calculates the Manhattan distance transform of an array.
 
Array hmap::distance_transform_with_closest (const Array &array, Mat< glm::ivec2 > &closest, bool return_squared_distance=false)
 Return the Euclidean distance transform.
 
Array hmap::erosion (const Array &array, int ir)
 Apply an erosion algorithm to the input array using a square structure.
 
void hmap::flood_fill (Array &array, int i, int j, float fill_value=1.f, float background_value=0.f)
 Apply a flood fill algorithm to the input array.
 
Array hmap::morphological_black_hat (const Array &array, int ir)
 Apply a morphological black hat algorithm to the input array using a square structure.
 
Array hmap::morphological_gradient (const Array &array, int ir)
 Apply a morphological gradient algorithm to the input array using a square structure.
 
Array hmap::morphological_laplacian (const Array &array, int ir)
 Apply a morphological Laplacian operator to the input array using a square structure.
 
Array hmap::morphological_top_hat (const Array &array, int ir)
 Apply a morphological top hat algorithm to the input array using a square structure.
 
Array hmap::opening (const Array &array, int ir)
 Apply an opening algorithm to the input array using a square structure.
 
Array hmap::opening_by_reconstruction (const Array &array, int ir, float k_smooth_min=0.f)
 Apply opening by reconstruction to the input array.
 
Array hmap::reconstruction_by_dilation (const Array &marker, const Array &mask, int ir, float k_smooth_min=0.f)
 Perform morphological reconstruction by dilation.
 
Array hmap::reconstruction_by_erosion (const Array &marker, const Array &mask, int ir, float k_smooth_max=0.f)
 Perform morphological reconstruction by erosion.
 
Array hmap::relative_distance_from_skeleton (const Array &array, int ir_search, bool zero_at_borders=true, int ir_erosion=1)
 Computes the relative distance of each non-zero cell in a binary array from the skeleton and border.
 
Array hmap::signed_curvature_from_distance (const Array &array, int prefilter_ir=0)
 Computes the signed curvature of the distance transform.
 
Array hmap::signed_distance_transform (const Array &array, int prefilter_ir=0)
 Computes a signed distance transform using curvature sign.
 
Array hmap::skeleton (const Array &array, bool zero_at_borders=true)
 Computes the skeleton of a binary image using the Zhang-Suen skeletonization algorithm.
 
Array hmap::gpu::border (const Array &array, int ir)
 See hmap::border.
 
Array hmap::gpu::closing (const Array &array, int ir)
 See hmap::closing.
 
Array hmap::gpu::closing_by_reconstruction (const Array &array, int ir, float k_smooth_max=0.f)
 See hmap::closing_by_reconstruction.
 
Array hmap::gpu::contour_smoothing (const Array &array, int ir, float transition_ratio=0.1f)
 See hmap::contour_smoothing.
 
Array hmap::gpu::dilation (const Array &array, int ir)
 See hmap::dilation.
 
Array hmap::gpu::dilation_expand_border_only (const Array &array, int ir)
 See hmap::dilation_expand_border_only.
 
Array hmap::gpu::distance_transform_jfa (const Array &array, bool return_squared_distance=false)
 Return the Euclidean distance transform.
 
Array hmap::gpu::erosion (const Array &array, int ir)
 See hmap::erosion.
 
Array hmap::gpu::morphological_black_hat (const Array &array, int ir)
 See hmap::morphological_black_hat.
 
Array hmap::gpu::morphological_gradient (const Array &array, int ir)
 See hmap::morphological_gradient.
 
Array hmap::gpu::morphological_laplacian (const Array &array, int ir)
 See hmap::morphological_laplacian.
 
Array hmap::gpu::morphological_top_hat (const Array &array, int ir)
 See hmap::morphological_top_hat.
 
Array hmap::gpu::opening (const Array &array, int ir)
 See hmap::opening.
 
Array hmap::gpu::opening_by_reconstruction (const Array &array, int ir, float k_smooth_min=0.f)
 See hmap::opening_by_reconstruction.
 
Array hmap::gpu::reconstruction_by_dilation (const Array &marker, const Array &mask, int ir, float k_smooth_min=0.f)
 See hmap::reconstruction_by_dilation.
 
Array hmap::gpu::reconstruction_by_erosion (const Array &marker, const Array &mask, int ir, float k_smooth_max=0.f)
 See hmap::reconstruction_by_erosion.
 
Array hmap::gpu::relative_distance_from_skeleton (const Array &array, int ir_search, bool zero_at_borders=true, int ir_erosion=1)
 See hmap::relative_distance_from_skeleton.
 
Array hmap::gpu::signed_curvature_from_distance (const Array &array, int prefilter_ir=0)
 See hmap::signed_curvature_from_distance.
 
Array hmap::gpu::signed_distance_transform (const Array &array, int prefilter_ir=0)
 See hmap::signed_distance_transform.
 
Array hmap::gpu::skeleton (const Array &array, bool zero_at_borders=true)
 See hmap::skeleton.
 
Array hmap::morphological_operators (const Array &array, int ir, MorphologyOperation operation)
 Apply a morphological operation to the input array using a square kernel.
 
Array hmap::gpu::morphological_operators (const Array &array, int ir, MorphologyOperation operation)
 See hmap::morphological_operators.
 

Detailed Description

Header file for image morphology functions and operations.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)

This header file provides declarations for functions and utilities related to image morphology, including operations such as dilation, erosion, opening, closing, etc. These functions are commonly used in image processing to enhance or extract features based on the shape and structure of objects within an image.