MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Morphology.hpp File Reference

Binary morphological operations on normalised float masks. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::Vision
 

Functions

void MayaFlux::Kinesis::Vision::close (std::span< const float > mask, std::span< float > tmp, std::span< float > dst, uint32_t w, uint32_t h, uint32_t radius)
 Morphological closing writing into dst.
 
std::vector< float > MayaFlux::Kinesis::Vision::close (std::span< const float > mask, uint32_t w, uint32_t h, uint32_t radius)
 Morphological closing: dilate then erode.
 
void MayaFlux::Kinesis::Vision::dilate (std::span< const float > mask, std::span< float > dst, uint32_t w, uint32_t h, uint32_t radius)
 Dilation writing into dst.
 
std::vector< float > MayaFlux::Kinesis::Vision::dilate (std::span< const float > mask, uint32_t w, uint32_t h, uint32_t radius)
 Morphological dilation with square structuring element.
 
void MayaFlux::Kinesis::Vision::erode (std::span< const float > mask, std::span< float > dst, uint32_t w, uint32_t h, uint32_t radius)
 Erosion writing into dst.
 
std::vector< float > MayaFlux::Kinesis::Vision::erode (std::span< const float > mask, uint32_t w, uint32_t h, uint32_t radius)
 Morphological erosion with square structuring element.
 
void MayaFlux::Kinesis::Vision::morph_gradient (std::span< const float > mask, std::span< float > tmp, std::span< float > dst, uint32_t w, uint32_t h, uint32_t radius)
 Morphological gradient (dilate - erode) writing into dst.
 
std::vector< float > MayaFlux::Kinesis::Vision::morph_gradient (std::span< const float > mask, uint32_t w, uint32_t h, uint32_t radius)
 Morphological gradient: dilate minus erode.
 
void MayaFlux::Kinesis::Vision::open (std::span< const float > mask, std::span< float > tmp, std::span< float > dst, uint32_t w, uint32_t h, uint32_t radius)
 Morphological opening writing into dst.
 
std::vector< float > MayaFlux::Kinesis::Vision::open (std::span< const float > mask, uint32_t w, uint32_t h, uint32_t radius)
 Morphological opening: erode then dilate.
 

Detailed Description

Binary morphological operations on normalised float masks.

Pure functions. No MayaFlux type dependencies.

Conventions

  • Input masks are single-channel float where 1.0f is foreground and 0.0f is background. Values are treated as binary: >= 0.5f is foreground, < 0.5f is background.
  • Output is strictly binary: 1.0f or 0.0f
  • w and h are pixel dimensions; caller ensures span size == w * h
  • radius is the structuring element half-size in pixels. A radius of 1 produces a 3x3 square structuring element.
  • Border handling is clamp-to-edge throughout
  • Parallelism handled internally via Parallel::par_unseq

Definition in file Vision/Morphology.hpp.