MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ silhouettes()

std::shared_ptr< Core::VKImage > MayaFlux::Yantra::VisionExtractor::silhouettes ( const std::shared_ptr< Core::VKImage > &  source,
const Kinesis::Vision::VisionAnalysis &  analysis,
uint32_t  tile_w,
uint32_t  tile_h 
)

Silhouette of every element cut from its contour polygons: the outer contour and its holes, even-odd filled.

Needs no executor and no label buffer, so it works on any analysis kept from earlier. Same atlas layout as crops(). Contours truncated by max_points_per_contour fill wrongly.

Definition at line 458 of file VisionExtractor.cpp.

462{
463 if (!analysis.find_elements || analysis.find_elements->boxes.empty())
464 return nullptr;
465
466 std::vector<size_t> indices(analysis.find_elements->boxes.size());
467 std::iota(indices.begin(), indices.end(), size_t { 0 });
468 return fill_elements(source, *analysis.find_elements, indices, tile_w, tile_h);
469}
std::vector< uint32_t > indices
uint32_t tile_h
uint32_t tile_w
std::shared_ptr< Core::VKImage > fill_elements(const std::shared_ptr< Core::VKImage > &source, const Kinesis::Vision::FindElementsAnalysis &elements, const std::vector< size_t > &indices, uint32_t tile_w, uint32_t tile_h)

References fill_elements(), MayaFlux::Kinesis::Vision::VisionAnalysis::find_elements, indices, tile_h, and tile_w.

Referenced by run_operation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: