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

◆ extract_scalar_vision()

MAYAFLUX_API double MayaFlux::Yantra::extract_scalar_vision ( const VisionAnalysis analysis,
const std::string &  qualifier 
)

Extract a named scalar from a VisionAnalysis result.

Supported qualifiers: "box_count" number of bounding boxes "contour_count" number of contours "keypoint_count" number of keypoints "track_count" number of tracked points "component_count" number of connected components "mean_gradient_magnitude" mean of GradientResult::magnitude

Unknown or empty qualifier returns 0.0.

Parameters
analysisResult produced by VisionAnalyzer.
qualifierName of the scalar to extract.

Definition at line 6 of file VisionAnalyzer.cpp.

8{
9 const auto& f = analysis.frame;
10
11 if (qualifier == "box_count")
12 return static_cast<double>(f.boxes.size());
13 if (qualifier == "contour_count")
14 return static_cast<double>(f.contours.size());
15 if (qualifier == "keypoint_count")
16 return static_cast<double>(f.keypoints.size());
17 if (qualifier == "track_count")
18 return static_cast<double>(f.tracks.size());
19 if (qualifier == "component_count")
20 return static_cast<double>(f.components.count);
21 if (qualifier == "mean_gradient_magnitude") {
22 const auto& mag = f.gradient.magnitude;
23 if (mag.empty())
24 return 0.0;
25 return std::accumulate(mag.begin(), mag.end(), 0.0)
26 / static_cast<double>(mag.size());
27 }
28
29 return 0.0;
30}
std::vector< float > magnitude
Gradient magnitude, normalised to [0, 1].
Definition Gradient.hpp:25
Kinesis::Vision::GradientResult gradient

References MayaFlux::Yantra::VisionAnalysis::frame, MayaFlux::Yantra::DetectionSummary::gradient, and MayaFlux::Kinesis::Vision::GradientResult::magnitude.