OSVR-Core
Public Types | Public Member Functions | List of all members
osvr::vbtracker::EdgeHoleBasedLedExtractor Class Reference

Public Types

using MatType = cv::Mat
 
using ExternalMatGetterReturn = cv::Mat const &
 
using ContourId = std::size_t
 
using RejectType = std::tuple< ContourId, RejectReason, cv::Point2d >
 
using RejectList = std::vector< RejectType >
 

Public Member Functions

 EdgeHoleBasedLedExtractor (EdgeHoleParams const &extractorParams=EdgeHoleParams())
 
LedMeasurementVec const & operator() (cv::Mat const &gray, BlobParams const &p, bool verboseBlobOutput=false)
 
 ~EdgeHoleBasedLedExtractor ()
 out of line for unique_ptr-based pimpl.
 
void reset ()
 
ExternalMatGetterReturn getInputGrayImage () const
 
ExternalMatGetterReturn getEdgeDetectedImage () const
 
ExternalMatGetterReturn getEdgeDetectedBinarizedImage () const
 
ContourList const & getContours () const
 
LedMeasurementVec const & getMeasurements () const
 
RejectList const & getRejectList () const
 

Member Function Documentation

§ operator()()

LedMeasurementVec const & osvr::vbtracker::EdgeHoleBasedLedExtractor::operator() ( cv::Mat const &  gray,
BlobParams const &  p,
bool  verboseBlobOutput = false 
)

Set up the threshold parameters

Early out - empty image!

Used to do basic thresholding here first to reduce background noise, but turns out that actually produced worse results at the end of the process (presumably by producing very sharp edges)

Edge detection: apply a laplacian filter to this frame

removal of mjpeg artifacts.

Extract beacons from the edge detection image


The documentation for this class was generated from the following files: