JeVoisBase  1.20
JeVois Smart Embedded Machine Vision Toolkit Base Modules
Share this page:
RoadFinder Class Reference

Navigation by finding road. More...

#include <jevoisbase/Components/RoadFinder/RoadFinder.H>

Inheritance diagram for RoadFinder:
Collaboration diagram for RoadFinder:

Public Member Functions

 RoadFinder (std::string const &instance)
 constructor More...
 
virtual ~RoadFinder ()
 desctructor More...
 
void process (cv::Mat const &img, jevois::RawImage &visual)
 Compute the vanishing point location using the full blown algorithm. More...
 
std::pair< Point2D< int >, float > getCurrVanishingPoint () const
 Get the current vanishing point and confidence. More...
 
Point2D< float > getCurrCenterPoint () const
 Get the current road center point. More...
 
Point2D< float > getCurrTargetPoint () const
 Get the current target point. More...
 
float getFilteredTargetX () const
 Get the kalman-fitered target X, can be used to set robot steering. More...
 
void resetRoadModel ()
 Reset all tracker internals and start fresh (e.g., when changing goal direction) More...
 
- Public Member Functions inherited from jevois::Component
 Component (std::string const &instance)
 
virtual ~Component ()
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
Engineengine () const
 
bool initialized () const
 
const std::string & className () const
 
const std::string & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
virtual void paramInfo (std::shared_ptr< UserInterface > s, std::map< std::string, std::string > &categs, bool skipFrozen, std::string const &cname="", std::string const &pfx="")
 
void foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="")
 
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category)
 
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category)
 
void setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true)
 
void removeDynamicParameter (std::string const &name)
 
void setPath (std::string const &path)
 
std::filesystem::path absolutePath (std::filesystem::path const &path="")
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
Engineengine () const
 
bool initialized () const
 
const std::string & className () const
 
const std::string & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
virtual void paramInfo (std::shared_ptr< UserInterface > s, std::map< std::string, std::string > &categs, bool skipFrozen, std::string const &cname="", std::string const &pfx="")
 
void foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="")
 
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category)
 
std::shared_ptr< DynamicParameter< T > > addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category)
 
void setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true)
 
void removeDynamicParameter (std::string const &name)
 
void setPath (std::string const &path)
 
std::filesystem::path absolutePath (std::filesystem::path const &path="")
 
- Public Member Functions inherited from jevois::ParameterRegistry
virtual ~ParameterRegistry ()
 

Protected Member Functions

void postInit () override
 This class has state and does not support some online param changes. More...
 
void preUninit () override
 This class has state and does not support some online param changes. More...
 
void computeHoughSegments (cv::Mat const &cvImage)
 compute the hough segments in the image More...
 
std::vector< LinecomputeVanishingLines (cv::Mat const &edgeMap, Point2D< int > const &vanishingPoint, jevois::RawImage &visual)
 main function to detect the road More...
 
Point2D< float > computeRoadCenterPoint (cv::Mat const &edgeMap, std::vector< Line > &lines, Point2D< int > &vanishing_point, Point2D< float > &road_center_point, float &confidence)
 computes the road center point to servo to More...
 
void updateRoadModel (std::vector< Line > &lines, int index)
 update road model and incoming lines NOTE: also change the line parameters to sync them this avoids drifts More...
 
Point2D< int > getVanishingPoint (std::vector< Line > const &lines, float &confidence)
 estimate the vanishing point from the tracked lines More...
 
void trackVanishingLines (cv::Mat const &edgeMap, std::vector< Line > &currentLines, jevois::RawImage &visual)
 track vanishing lines by to fit to the new, inputted, edgemap More...
 
std::vector< Point2D< int > > getPixels (Point2D< int > const &p1, Point2D< int > const &p2, cv::Mat const &edgeMap)
 get pixels for segment defined by p1 and p2 have added complexity to search within 1.5 pixels of the line More...
 
std::vector< Point2D< int > > getPixels (Point2D< int > const &p1, Point2D< int > const &p2, cv::Mat const &edgeMap, std::vector< uint > &startIndexes)
 get pixels for segment defined by p1 and p2 have added complexity to search within 1.5 pixels of the line More...
 
std::vector< Point2D< int > > getPixelsQuick (Point2D< int > const &p1, Point2D< int > const &p2, cv::Mat const &edgeMap)
 get pixels that make up the segment defined by p1 and p2 More...
 
Line findLine2 (Segment const &s, cv::Mat const &edgeMap, std::list< Segment > const &supportingSegments, std::vector< bool > &is_used, float &totalLength, uint &numSegments)
 find lines given the found supporting segments More...
 
void fitLine (std::vector< Point2D< int > > const &points, Point2D< float > &p1, Point2D< float > &p2, int const width, int const height)
 openCV wrapper function to fit a line to an input vector of points More...
 
float getLineFitness (Point2D< int > const &horizonPoint, Point2D< int > const &roadBottomPoint, cv::Mat const &edgeMap, jevois::RawImage &visual)
 compute how well the line equation fit the edgels in edgemap More...
 
float getLineFitness (Point2D< int > const &horizonPoint, Point2D< int > const &roadBottomPoint, cv::Mat const &edgeMap, std::vector< Point2D< int > > &points, jevois::RawImage &visual)
 compute how well the line equation fit the edgels in edgemap More...
 
void updateLine (Line &l, std::vector< Point2D< int > > const &points, float score, int const width, int const height)
 update the information in by updating the input points, score and various handy coordinate locations More...
 
void projectForwardVanishingLines (std::vector< Line > &lines, std::vector< cv::Mat > const &edgeMaps, jevois::RawImage &visual)
 update the lines with the inputted set of edgemaps More...
 
std::vector< Linecombine (std::vector< Line > &prevLines, std::vector< Line > const &currentLines, int width, int height)
 combine two lines sets, discard duplicates and overlaps More...
 
std::vector< LinediscardDuplicates (std::vector< Line > const &currentLines)
 discard duplicate lines in a set More...
 
- Protected Member Functions inherited from jevois::Component
virtual void preInit ()
 
virtual void postUninit ()
 
virtual void preInit ()
 
virtual void postUninit ()
 
- Protected Member Functions inherited from jevois::ParameterRegistry
void addParameter (ParameterBase *const param)
 
void removeParameter (ParameterBase *const param)
 
void callbackInitCall ()
 

Protected Attributes

double itsRoadHeading
 the current road heading More...
 
Point2D< float > itsAccumulatedTrajectory
 the accumulated trajectory More...
 
std::mutex itsAccTrajMtx
 locking accunulated trajectory More...
 
std::vector< SegmentitsCurrentSegments
 current segments found using CVHoughlines More...
 
std::mutex itsTrackMtx
 locking line trackers vars More...
 
bool itsTrackingFlag
 indicate whether tracking More...
 
std::vector< LineitsCurrentLines
 the current lines being tracked More...
 
uint itsNumIdentifiedLines
 indicate how many unique lines have been identified NOTE: never reset More...
 
RoadModel itsRoadModel
 
std::vector< VanishingPointitsVanishingPoints
 vanishing points being considered More...
 
std::mutex itsRoadMtx
 
Point2D< int > itsVanishingPoint
 current vanishing point More...
 
Point2D< float > itsCenterPoint
 current center of road point More...
 
Point2D< float > itsTargetPoint
 target servo point More...
 
float itsVanishingPointConfidence
 current vanishing point More...
 
std::vector< bool > itsVanishingPointStability
 vanishing point score tracker More...
 
int itsCurrentMessageID
 for visualizer More...
 
cv::KalmanFilter itsTPXfilter
 
float itsFilteredTPX
 
bool itsKalmanNeedInit
 

Related Functions

(Note that these are not member functions.)

 JEVOIS_DECLARE_PARAMETER (horizon, int, "Estimated vertical (Y) position of the horizon (pixels, " "with 0 at the top of the frame). Adjust this depending on the tilt angle of your camera " "and video input resolution.", 70, ParamCateg)
 Parameter. More...
 
 JEVOIS_DECLARE_PARAMETER (support, int, "Offset (in pixels) between horizon line and horizon support line (positive " "values means support line is below horizon line.", 20, ParamCateg)
 Parameter. More...
 
 JEVOIS_DECLARE_PARAMETER (spacing, unsigned int, "Spacing between vanishing point candidates (pixels).", 20, ParamCateg)
 Parameter. More...
 
 JEVOIS_DECLARE_PARAMETER (distthresh, unsigned int, "Vanishing point distance threshold (pixels).", 40, ParamCateg)
 Parameter. More...
 

Detailed Description

Navigation by finding road.

This algorithm implements the algorithm described in: C.-K. Chang, C. Siagian, L. Itti, Mobile Robot Monocular Vision Navigation Based on Road Region and Boundary Estimation, In: Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1043-1050, Oct 2012.

See the research paper at http://ilab.usc.edu/publications/doc/Chang_etal12iros.pdf

Definition at line 176 of file RoadFinder.H.

Constructor & Destructor Documentation

◆ RoadFinder()

RoadFinder::RoadFinder ( std::string const &  instance)

◆ ~RoadFinder()

RoadFinder::~RoadFinder ( )
virtual

desctructor

Definition at line 209 of file RoadFinder.C.

Member Function Documentation

◆ combine()

std::vector< Line > RoadFinder::combine ( std::vector< Line > &  prevLines,
std::vector< Line > const &  currentLines,
int  width,
int  height 
)
protected

combine two lines sets, discard duplicates and overlaps

Definition at line 1422 of file RoadFinder.C.

References Line::angleToCenter, discardDuplicates(), Point2D< T >::distance(), Line::index, Line::isActive, Line::offset, demo::points, Line::pointToServo, Line::scores, Line::start_scores, and updateLine().

Referenced by process().

◆ computeHoughSegments()

void RoadFinder::computeHoughSegments ( cv::Mat const &  cvImage)
protected

compute the hough segments in the image

Definition at line 789 of file RoadFinder.C.

References cvImage(), Point2D< T >::i, itsCurrentSegments, and Point2D< T >::j.

Referenced by process().

◆ computeRoadCenterPoint()

Point2D< float > RoadFinder::computeRoadCenterPoint ( cv::Mat const &  edgeMap,
std::vector< Line > &  lines,
Point2D< int > &  vanishing_point,
Point2D< float > &  road_center_point,
float &  confidence 
)
protected

computes the road center point to servo to

Definition at line 436 of file RoadFinder.C.

References demo::float, getVanishingPoint(), Point2D< T >::i, itsRoadMtx, itsVanishingPoint, itsVanishingPointStability, and Point2D< T >::j.

Referenced by process().

◆ computeVanishingLines()

std::vector< Line > RoadFinder::computeVanishingLines ( cv::Mat const &  edgeMap,
Point2D< int > const &  vanishingPoint,
jevois::RawImage visual 
)
protected

◆ discardDuplicates()

std::vector< Line > RoadFinder::discardDuplicates ( std::vector< Line > const &  currentLines)
protected

discard duplicate lines in a set

Definition at line 1490 of file RoadFinder.C.

References Point2D< T >::distance(), Line::onScreenHorizonSupportPoint, Line::onScreenRoadBottomPoint, and Line::score.

Referenced by combine().

◆ findLine2()

Line RoadFinder::findLine2 ( Segment const &  s,
cv::Mat const &  edgeMap,
std::list< Segment > const &  supportingSegments,
std::vector< bool > &  is_used,
float &  totalLength,
uint numSegments 
)
protected

◆ fitLine()

void RoadFinder::fitLine ( std::vector< Point2D< int > > const &  points,
Point2D< float > &  p1,
Point2D< float > &  p2,
int const  width,
int const  height 
)
protected

openCV wrapper function to fit a line to an input vector of points

Definition at line 1207 of file RoadFinder.C.

References Point2D< T >::i, Point2D< T >::j, and demo::points.

Referenced by updateLine().

◆ getCurrCenterPoint()

Point2D< float > RoadFinder::getCurrCenterPoint ( ) const

Get the current road center point.

Definition at line 233 of file RoadFinder.C.

References itsCenterPoint.

◆ getCurrTargetPoint()

Point2D< float > RoadFinder::getCurrTargetPoint ( ) const

Get the current target point.

Definition at line 237 of file RoadFinder.C.

References itsTargetPoint.

◆ getCurrVanishingPoint()

std::pair< Point2D< int >, float > RoadFinder::getCurrVanishingPoint ( ) const

Get the current vanishing point and confidence.

Definition at line 229 of file RoadFinder.C.

References itsVanishingPoint, and itsVanishingPointConfidence.

◆ getFilteredTargetX()

float RoadFinder::getFilteredTargetX ( ) const

Get the kalman-fitered target X, can be used to set robot steering.

Definition at line 241 of file RoadFinder.C.

References itsFilteredTPX.

◆ getLineFitness() [1/2]

float RoadFinder::getLineFitness ( Point2D< int > const &  horizonPoint,
Point2D< int > const &  roadBottomPoint,
cv::Mat const &  edgeMap,
jevois::RawImage visual 
)
protected

compute how well the line equation fit the edgels in edgemap

Definition at line 1233 of file RoadFinder.C.

References demo::points.

Referenced by computeVanishingLines(), and trackVanishingLines().

◆ getLineFitness() [2/2]

float RoadFinder::getLineFitness ( Point2D< int > const &  horizonPoint,
Point2D< int > const &  roadBottomPoint,
cv::Mat const &  edgeMap,
std::vector< Point2D< int > > &  points,
jevois::RawImage visual 
)
protected

◆ getPixels() [1/2]

std::vector< Point2D< int > > RoadFinder::getPixels ( Point2D< int > const &  p1,
Point2D< int > const &  p2,
cv::Mat const &  edgeMap 
)
protected

get pixels for segment defined by p1 and p2 have added complexity to search within 1.5 pixels of the line

Definition at line 957 of file RoadFinder.C.

Referenced by findLine2(), and getLineFitness().

◆ getPixels() [2/2]

std::vector< Point2D< int > > RoadFinder::getPixels ( Point2D< int > const &  p1,
Point2D< int > const &  p2,
cv::Mat const &  edgeMap,
std::vector< uint > &  startIndexes 
)
protected

get pixels for segment defined by p1 and p2 have added complexity to search within 1.5 pixels of the line

Definition at line 965 of file RoadFinder.C.

References Point2D< T >::distance(), h, Point2D< T >::i, Point2D< T >::j, demo::points, test-model::size, and demo::w.

◆ getPixelsQuick()

std::vector< Point2D< int > > RoadFinder::getPixelsQuick ( Point2D< int > const &  p1,
Point2D< int > const &  p2,
cv::Mat const &  edgeMap 
)
protected

get pixels that make up the segment defined by p1 and p2

Definition at line 1060 of file RoadFinder.C.

References h, Point2D< T >::i, Point2D< T >::j, demo::points, and demo::w.

Referenced by getLineFitness().

◆ getVanishingPoint()

Point2D< int > RoadFinder::getVanishingPoint ( std::vector< Line > const &  lines,
float &  confidence 
)
protected

estimate the vanishing point from the tracked lines

Definition at line 760 of file RoadFinder.C.

References Point2D< T >::i.

Referenced by computeRoadCenterPoint().

◆ postInit()

void RoadFinder::postInit ( )
overrideprotectedvirtual

This class has state and does not support some online param changes.

Reimplemented from jevois::Component.

Definition at line 213 of file RoadFinder.C.

References freeze().

◆ preUninit()

void RoadFinder::preUninit ( )
overrideprotectedvirtual

This class has state and does not support some online param changes.

Reimplemented from jevois::Component.

Definition at line 221 of file RoadFinder.C.

References unFreeze().

◆ process()

void RoadFinder::process ( cv::Mat const &  img,
jevois::RawImage visual 
)

Compute the vanishing point location using the full blown algorithm.

img should be greyscale. If visual is valid, it should be YUYV with same or larger dims, with the assumption that it contains a color copy of the input frame in the top-left corner (this is used for debug visualizations of the various things computed).

FIXME

Definition at line 256 of file RoadFinder.C.

References jevois::Profiler::checkpoint(), test-model::color, combine(), computeHoughSegments(), computeRoadCenterPoint(), computeVanishingLines(), jevois::rawimage::drawDisk(), jevois::rawimage::drawLine(), Point2D< T >::i, demo::int, Point2D< T >::isValid(), itsCenterPoint, itsCurrentLines, itsCurrentSegments, itsFilteredTPX, itsKalmanNeedInit, itsTargetPoint, itsTPXfilter, itsVanishingPoint, itsVanishingPointConfidence, itsVanishingPoints, Point2D< T >::j, JEVOIS_WAIT_GET_FUTURE, jevois::Profiler::start(), jevois::Profiler::stop(), trackVanishingLines(), updateRoadModel(), and jevois::RawImage::valid().

◆ projectForwardVanishingLines()

void RoadFinder::projectForwardVanishingLines ( std::vector< Line > &  lines,
std::vector< cv::Mat > const &  edgeMaps,
jevois::RawImage visual 
)
protected

update the lines with the inputted set of edgemaps

Definition at line 1414 of file RoadFinder.C.

References trackVanishingLines().

◆ resetRoadModel()

void RoadFinder::resetRoadModel ( )

Reset all tracker internals and start fresh (e.g., when changing goal direction)

Thread-safe, ok to call concurrently with process().

Definition at line 245 of file RoadFinder.C.

◆ trackVanishingLines()

void RoadFinder::trackVanishingLines ( cv::Mat const &  edgeMap,
std::vector< Line > &  currentLines,
jevois::RawImage visual 
)
protected

◆ updateLine()

void RoadFinder::updateLine ( Line l,
std::vector< Point2D< int > > const &  points,
float  score,
int const  width,
int const  height 
)
protected

◆ updateRoadModel()

void RoadFinder::updateRoadModel ( std::vector< Line > &  lines,
int  index 
)
protected

update road model and incoming lines NOTE: also change the line parameters to sync them this avoids drifts

Definition at line 597 of file RoadFinder.C.

References Point2D< T >::distance(), itsNumIdentifiedLines, itsRoadModel, RoadModel::lastActiveIndex, RoadModel::lastSeenHorizonPoint, RoadModel::lastSeenLocation, RoadModel::lines, and RoadModel::numMatches.

Referenced by process().

Friends And Related Function Documentation

◆ JEVOIS_DECLARE_PARAMETER() [1/4]

JEVOIS_DECLARE_PARAMETER ( distthresh  ,
unsigned int  ,
"Vanishing point distance threshold (pixels)."  ,
40  ,
ParamCateg   
)
related

Parameter.

◆ JEVOIS_DECLARE_PARAMETER() [2/4]

JEVOIS_DECLARE_PARAMETER ( horizon  ,
int  ,
"Estimated vertical (Y) position of the horizon (pixels, " "with 0 at the top of the frame). Adjust this depending on the tilt angle of your camera " "and video input resolution."  ,
70  ,
ParamCateg   
)
related

Parameter.

◆ JEVOIS_DECLARE_PARAMETER() [3/4]

JEVOIS_DECLARE_PARAMETER ( spacing  ,
unsigned int  ,
"Spacing between vanishing point candidates (pixels)."  ,
20  ,
ParamCateg   
)
related

Parameter.

◆ JEVOIS_DECLARE_PARAMETER() [4/4]

JEVOIS_DECLARE_PARAMETER ( support  ,
int   
)
related

Parameter.

Member Data Documentation

◆ itsAccTrajMtx

std::mutex RoadFinder::itsAccTrajMtx
protected

locking accunulated trajectory

Definition at line 288 of file RoadFinder.H.

◆ itsAccumulatedTrajectory

Point2D<float> RoadFinder::itsAccumulatedTrajectory
protected

the accumulated trajectory

Definition at line 285 of file RoadFinder.H.

Referenced by RoadFinder().

◆ itsCenterPoint

Point2D<float> RoadFinder::itsCenterPoint
protected

current center of road point

Definition at line 311 of file RoadFinder.H.

Referenced by getCurrCenterPoint(), process(), and RoadFinder().

◆ itsCurrentLines

std::vector<Line> RoadFinder::itsCurrentLines
protected

the current lines being tracked

Definition at line 299 of file RoadFinder.H.

Referenced by process().

◆ itsCurrentMessageID

int RoadFinder::itsCurrentMessageID
protected

for visualizer

Definition at line 317 of file RoadFinder.H.

◆ itsCurrentSegments

std::vector<Segment> RoadFinder::itsCurrentSegments
protected

current segments found using CVHoughlines

Definition at line 291 of file RoadFinder.H.

Referenced by computeHoughSegments(), computeVanishingLines(), and process().

◆ itsFilteredTPX

float RoadFinder::itsFilteredTPX
protected

Definition at line 320 of file RoadFinder.H.

Referenced by getFilteredTargetX(), and process().

◆ itsKalmanNeedInit

bool RoadFinder::itsKalmanNeedInit
protected

Definition at line 321 of file RoadFinder.H.

Referenced by process().

◆ itsNumIdentifiedLines

uint RoadFinder::itsNumIdentifiedLines
protected

indicate how many unique lines have been identified NOTE: never reset

Definition at line 302 of file RoadFinder.H.

Referenced by RoadFinder(), and updateRoadModel().

◆ itsRoadHeading

double RoadFinder::itsRoadHeading
protected

the current road heading

Definition at line 282 of file RoadFinder.H.

◆ itsRoadModel

RoadModel RoadFinder::itsRoadModel
protected

Definition at line 304 of file RoadFinder.H.

Referenced by updateRoadModel().

◆ itsRoadMtx

std::mutex RoadFinder::itsRoadMtx
protected

Definition at line 309 of file RoadFinder.H.

Referenced by computeRoadCenterPoint(), and computeVanishingLines().

◆ itsTargetPoint

Point2D<float> RoadFinder::itsTargetPoint
protected

target servo point

Definition at line 312 of file RoadFinder.H.

Referenced by getCurrTargetPoint(), process(), and RoadFinder().

◆ itsTPXfilter

cv::KalmanFilter RoadFinder::itsTPXfilter
protected

Definition at line 319 of file RoadFinder.H.

Referenced by process(), and RoadFinder().

◆ itsTrackingFlag

bool RoadFinder::itsTrackingFlag
protected

indicate whether tracking

Definition at line 296 of file RoadFinder.H.

Referenced by RoadFinder().

◆ itsTrackMtx

std::mutex RoadFinder::itsTrackMtx
protected

locking line trackers vars

Definition at line 293 of file RoadFinder.H.

◆ itsVanishingPoint

Point2D<int> RoadFinder::itsVanishingPoint
protected

current vanishing point

Definition at line 310 of file RoadFinder.H.

Referenced by computeRoadCenterPoint(), computeVanishingLines(), getCurrVanishingPoint(), process(), and RoadFinder().

◆ itsVanishingPointConfidence

float RoadFinder::itsVanishingPointConfidence
protected

current vanishing point

Definition at line 313 of file RoadFinder.H.

Referenced by getCurrVanishingPoint(), process(), and RoadFinder().

◆ itsVanishingPoints

std::vector<VanishingPoint> RoadFinder::itsVanishingPoints
protected

vanishing points being considered

Definition at line 307 of file RoadFinder.H.

Referenced by computeVanishingLines(), and process().

◆ itsVanishingPointStability

std::vector<bool> RoadFinder::itsVanishingPointStability
protected

vanishing point score tracker

Definition at line 314 of file RoadFinder.H.

Referenced by computeRoadCenterPoint().


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