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

◆ key_for_contour()

template<ComputeData InputType = std::shared_ptr<Kakshya::SignalSourceContainer>, ComputeData OutputType = InputType>
float MayaFlux::Yantra::VisionSorter< InputType, OutputType >::key_for_contour ( const Kinesis::Vision::Contour contour) const
inlineprivate

Definition at line 305 of file VisionSorter.hpp.

306 {
307 switch (m_key) {
309 return contour.area;
311 return contour.perimeter;
316 if (contour.points.empty())
317 return 0.F;
318 glm::vec2 mn = contour.points[0], mx = contour.points[0];
319 for (const auto& p : contour.points) {
320 if (p.x < mn.x)
321 mn.x = p.x;
322 if (p.y < mn.y)
323 mn.y = p.y;
324 if (p.x > mx.x)
325 mx.x = p.x;
326 if (p.y > mx.y)
327 mx.y = p.y;
328 }
330 return mx.x - mn.x;
332 return mx.y - mn.y;
334 return (mn.x + mx.x) * 0.5F;
335 return (mn.y + mx.y) * 0.5F;
336 }
337 }
338 return 0.F;
339 }
std::vector< glm::vec2 > * points

References MayaFlux::Kinesis::Vision::Contour::area, MayaFlux::Yantra::AREA, MayaFlux::Yantra::CENTROID_X, MayaFlux::Yantra::CENTROID_Y, MayaFlux::Yantra::HEIGHT, MayaFlux::Yantra::VisionSorter< InputType, OutputType >::m_key, MayaFlux::Kinesis::Vision::Contour::perimeter, MayaFlux::Yantra::PERIMETER, MayaFlux::Kinesis::Vision::Contour::points, and MayaFlux::Yantra::WIDTH.

Referenced by MayaFlux::Yantra::VisionSorter< InputType, OutputType >::compute_key(), and MayaFlux::Yantra::VisionSorter< InputType, OutputType >::key_for().

+ Here is the caller graph for this function: