Visual Servoing Platform  version 3.3.0

#include <vpKltOpencv.h>

Public Member Functions

 vpKltOpencv ()
 
 vpKltOpencv (const vpKltOpencv &copy)
 
virtual ~vpKltOpencv ()
 
void addFeature (const float &x, const float &y)
 
void addFeature (const long &id, const float &x, const float &y)
 
void addFeature (const cv::Point2f &f)
 
void display (const vpImage< unsigned char > &I, const vpColor &color=vpColor::red, unsigned int thickness=1)
 
int getBlockSize () const
 
void getFeature (const int &index, long &id, float &x, float &y) const
 
std::vector< cv::Point2f > getFeatures () const
 
std::vector< long > getFeaturesId () const
 
double getHarrisFreeParameter () const
 
int getMaxFeatures () const
 
double getMinDistance () const
 
int getNbFeatures () const
 
int getNbPrevFeatures () const
 
std::vector< cv::Point2f > getPrevFeatures () const
 
int getPyramidLevels () const
 
double getQuality () const
 
int getWindowSize () const
 
void initTracking (const cv::Mat &I, const cv::Mat &mask=cv::Mat())
 
void initTracking (const cv::Mat &I, const std::vector< cv::Point2f > &pts)
 
void initTracking (const cv::Mat &I, const std::vector< cv::Point2f > &pts, const std::vector< long > &ids)
 
vpKltOpencvoperator= (const vpKltOpencv &copy)
 
void track (const cv::Mat &I)
 
void setBlockSize (int blockSize)
 
void setHarrisFreeParameter (double harris_k)
 
void setInitialGuess (const std::vector< cv::Point2f > &guess_pts)
 
void setInitialGuess (const std::vector< cv::Point2f > &init_pts, const std::vector< cv::Point2f > &guess_pts, const std::vector< long > &fid)
 
void setMaxFeatures (int maxCount)
 
void setMinDistance (double minDistance)
 
void setMinEigThreshold (double minEigThreshold)
 
void setPyramidLevels (int pyrMaxLevel)
 
void setQuality (double qualityLevel)
 
void setTrackerId (int tid)
 
void setUseHarris (int useHarrisDetector)
 
void setWindowSize (int winSize)
 
void suppressFeature (const int &index)
 

Static Public Member Functions

static void display (const vpImage< unsigned char > &I, const std::vector< cv::Point2f > &features, const vpColor &color=vpColor::green, unsigned int thickness=1)
 
static void display (const vpImage< vpRGBa > &I, const std::vector< cv::Point2f > &features, const vpColor &color=vpColor::green, unsigned int thickness=1)
 
static void display (const vpImage< unsigned char > &I, const std::vector< cv::Point2f > &features, const std::vector< long > &featuresid, const vpColor &color=vpColor::green, unsigned int thickness=1)
 
static void display (const vpImage< vpRGBa > &I, const std::vector< cv::Point2f > &features, const std::vector< long > &featuresid, const vpColor &color=vpColor::green, unsigned int thickness=1)
 

Protected Attributes

cv::Mat m_gray
 
cv::Mat m_prevGray
 
std::vector< cv::Point2f > m_points [2]
 
std::vector< long > m_points_id
 
int m_maxCount
 
cv::TermCriteria m_termcrit
 
int m_winSize
 
double m_qualityLevel
 
double m_minDistance
 
double m_minEigThreshold
 
double m_harris_k
 
int m_blockSize
 
int m_useHarrisDetector
 
int m_pyrMaxLevel
 
long m_next_points_id
 
bool m_initial_guess
 

Detailed Description

Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker implemented in OpenCV. Thus to enable this class OpenCV should be installed. Installation instructions are provided here https://visp.inria.fr/3rd_opencv.

The following example available in tutorial-klt-tracker.cpp shows how to use the main functions of the class.

#include <visp3/core/vpImageConvert.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/io/vpVideoReader.h>
#include <visp3/klt/vpKltOpencv.h>
int main(int argc, const char *argv[])
{
#ifdef VISP_HAVE_OPENCV
try {
bool opt_init_by_click = false;
for (int i = 0; i < argc; i++) {
if (std::string(argv[i]) == "--init-by-click")
opt_init_by_click = true;
else if (std::string(argv[i]) == "--help") {
std::cout << "Usage: " << argv[0] << " [--init-by-click] [--help]" << std::endl;
return 0;
}
}
vpVideoReader reader;
reader.setFileName("video-postcard.mpeg");
reader.acquire(I);
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
IplImage *cvI = NULL;
#else
cv::Mat cvI;
#endif
vpDisplayOpenCV d(I, 0, 0, "Klt tracking");
vpKltOpencv tracker;
tracker.setMaxFeatures(200);
tracker.setWindowSize(10);
tracker.setQuality(0.01);
tracker.setMinDistance(15);
tracker.setHarrisFreeParameter(0.04);
tracker.setBlockSize(9);
tracker.setUseHarris(1);
tracker.setPyramidLevels(3);
// Initialise the tracking
if (opt_init_by_click) {
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
std::vector<CvPoint2D32f> feature;
#else
std::vector<cv::Point2f> feature;
#endif
do {
vpDisplay::displayText(I, 10, 10, "Left click to select a point, right to start tracking", vpColor::red);
if (vpDisplay::getClick(I, ip, button, false)) {
if (button == vpMouseButton::button1) {
feature.push_back(cv::Point2f((float)ip.get_u(), (float)ip.get_v()));
}
}
} while (button != vpMouseButton::button3);
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
tracker.initTracking(cvI, &feature[0], feature.size());
#else
tracker.initTracking(cvI, feature);
#endif
} else {
tracker.initTracking(cvI);
}
std::cout << "Tracker initialized with " << tracker.getNbFeatures() << " features" << std::endl;
while (!reader.end()) {
reader.acquire(I);
if (opt_init_by_click && reader.getFrameIndex() == reader.getFirstFrameIndex() + 20) {
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
std::vector<CvPoint2D32f> feature;
#else
std::vector<cv::Point2f> feature;
#endif
do {
vpDisplay::displayText(I, 10, 10, "Left click to select a point, right to start tracking", vpColor::red);
if (vpDisplay::getClick(I, ip, button, false)) {
if (button == vpMouseButton::button1) {
feature.push_back(cv::Point2f((float)ip.get_u(), (float)ip.get_v()));
}
}
} while (button != vpMouseButton::button3);
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
tracker.initTracking(cvI, &feature[0], feature.size());
#else
tracker.initTracking(cvI, feature);
#endif
}
tracker.track(cvI);
tracker.display(I, vpColor::red);
}
#if (VISP_HAVE_OPENCV_VERSION < 0x020408)
cvReleaseImage(&cvI);
#endif
return 0;
} catch (const vpException &e) {
std::cout << "Catch an exception: " << e << std::endl;
}
#else
(void)argc;
(void)argv;
#endif
}

A line by line explanation is provided in Tutorial: Keypoint tracking.

Examples
mbtEdgeKltMultiTracking.cpp, mbtEdgeKltTracking.cpp, mbtGenericTracking.cpp, mbtGenericTracking2.cpp, mbtGenericTrackingDepth.cpp, mbtKltMultiTracking.cpp, mbtKltTracking.cpp, testGenericTracker.cpp, trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, tutorial-klt-tracker.cpp, tutorial-mb-generic-tracker-apriltag-rs2.cpp, tutorial-mb-generic-tracker-apriltag-webcam.cpp, tutorial-mb-generic-tracker-full.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, tutorial-mb-generic-tracker.cpp, tutorial-mb-hybrid-tracker.cpp, tutorial-mb-klt-tracker.cpp, tutorial-mb-tracker-full.cpp, tutorial-mb-tracker-stereo-mono.cpp, and tutorial-mb-tracker.cpp.

Definition at line 77 of file vpKltOpencv.h.

Constructor & Destructor Documentation

◆ vpKltOpencv() [1/2]

vpKltOpencv::vpKltOpencv ( )

Default constructor.

Definition at line 60 of file vpKltOpencv.cpp.

◆ vpKltOpencv() [2/2]

vpKltOpencv::vpKltOpencv ( const vpKltOpencv copy)

Copy constructor.

Definition at line 71 of file vpKltOpencv.cpp.

◆ ~vpKltOpencv()

vpKltOpencv::~vpKltOpencv ( )
virtual

Definition at line 105 of file vpKltOpencv.cpp.

Member Function Documentation

◆ addFeature() [1/3]

void vpKltOpencv::addFeature ( const cv::Point2f &  f)

Add a keypoint at the end of the feature list. The id of the feature is set to ensure that it is unique.

Parameters
f: Coordinates of the feature in the image.

Definition at line 551 of file vpKltOpencv.cpp.

◆ addFeature() [2/3]

void vpKltOpencv::addFeature ( const float &  x,
const float &  y 
)

Add a keypoint at the end of the feature list. The id of the feature is set to ensure that it is unique.

Parameters
x,y: Coordinates of the feature in the image.
Examples
tutorial-klt-tracker-with-reinit.cpp.

Definition at line 516 of file vpKltOpencv.cpp.

◆ addFeature() [3/3]

void vpKltOpencv::addFeature ( const long &  id,
const float &  x,
const float &  y 
)

Add a keypoint at the end of the feature list.

Warning
This function doesn't ensure that the id of the feature is unique. You should rather use addFeature(const float &, const float &) or addFeature(const cv::Point2f &).
Parameters
id: Feature id. Should be unique
x,y: Coordinates of the feature in the image.

Definition at line 535 of file vpKltOpencv.cpp.

◆ display() [1/5]

void vpKltOpencv::display ( const vpImage< unsigned char > &  I,
const std::vector< cv::Point2f > &  features,
const std::vector< long > &  featuresid,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
)
static

Display features list with ids.

Parameters
I: The image used as background.
features: Vector of features.
featuresid: Vector of ids corresponding to the features.
color: Color used to display the points.
thickness: Thickness of the points

Definition at line 281 of file vpKltOpencv.cpp.

◆ display() [2/5]

void vpKltOpencv::display ( const vpImage< unsigned char > &  I,
const std::vector< cv::Point2f > &  features,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
)
static

Display features list.

Parameters
I: The image used as background.
features: Vector of features.
color: Color used to display the points.
thickness: Thickness of the points.

Definition at line 233 of file vpKltOpencv.cpp.

◆ display() [3/5]

void vpKltOpencv::display ( const vpImage< unsigned char > &  I,
const vpColor color = vpColor::red,
unsigned int  thickness = 1 
)

Display features position and id.

Parameters
I: Image used as background. Display should be initialized on it.
color: Color used to display the features.
thickness: Thickness of the drawings.
Examples
trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, and tutorial-klt-tracker.cpp.

Definition at line 216 of file vpKltOpencv.cpp.

◆ display() [4/5]

void vpKltOpencv::display ( const vpImage< vpRGBa > &  I,
const std::vector< cv::Point2f > &  features,
const std::vector< long > &  featuresid,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
)
static

Display features list with ids.

Parameters
I: The image used as background.
features: Vector of features.
featuresid: Vector of ids corresponding to the features.
color: Color used to display the points.
thickness: Thickness of the points

Definition at line 311 of file vpKltOpencv.cpp.

◆ display() [5/5]

void vpKltOpencv::display ( const vpImage< vpRGBa > &  I,
const std::vector< cv::Point2f > &  features,
const vpColor color = vpColor::green,
unsigned int  thickness = 1 
)
static

Display features list.

Parameters
I: The image used as background.
features: Vector of features.
color: Color used to display the points.
thickness: Thickness of the points.

Definition at line 256 of file vpKltOpencv.cpp.

◆ getBlockSize()

int vpKltOpencv::getBlockSize ( ) const
inline

Get the size of the averaging block used to track the features.

Definition at line 101 of file vpKltOpencv.h.

◆ getFeature()

void vpKltOpencv::getFeature ( const int &  index,
long &  id,
float &  x,
float &  y 
) const

Get the 'index'th feature image coordinates. Beware that getFeature(i,...) may not represent the same feature before and after a tracking iteration (if a feature is lost, features are shifted in the array).

Parameters
index: Index of feature.
id: id of the feature.
x: x coordinate.
y: y coordinate.
Examples
tutorial-klt-tracker-with-reinit.cpp.

Definition at line 198 of file vpKltOpencv.cpp.

◆ getFeatures()

std::vector<cv::Point2f> vpKltOpencv::getFeatures ( ) const
inline

Get the list of current features.

Examples
tutorial-klt-tracker-with-reinit.cpp.

Definition at line 104 of file vpKltOpencv.h.

Referenced by vpMbKltTracker::getKltPoints().

◆ getFeaturesId()

std::vector<long> vpKltOpencv::getFeaturesId ( ) const
inline

Get the unique id of each feature.

Definition at line 107 of file vpKltOpencv.h.

◆ getHarrisFreeParameter()

double vpKltOpencv::getHarrisFreeParameter ( ) const
inline

Get the free parameter of the Harris detector.

Definition at line 110 of file vpKltOpencv.h.

◆ getMaxFeatures()

int vpKltOpencv::getMaxFeatures ( ) const
inline

Get the list of lost feature.

Get the maximum number of features to track in the image.

Examples
tutorial-klt-tracker-with-reinit.cpp.

Definition at line 114 of file vpKltOpencv.h.

Referenced by vpMbKltTracker::setPose().

◆ getMinDistance()

double vpKltOpencv::getMinDistance ( ) const
inline

Get the minimal Euclidean distance between detected corners during initialization.

Examples
tutorial-klt-tracker-with-reinit.cpp.

Definition at line 117 of file vpKltOpencv.h.

◆ getNbFeatures()

int vpKltOpencv::getNbFeatures ( ) const
inline

Get the number of current features.

Examples
tutorial-klt-tracker-with-reinit.cpp, and tutorial-klt-tracker.cpp.

Definition at line 119 of file vpKltOpencv.h.

◆ getNbPrevFeatures()

int vpKltOpencv::getNbPrevFeatures ( ) const
inline

Get the number of previous features.

Definition at line 121 of file vpKltOpencv.h.

◆ getPrevFeatures()

std::vector<cv::Point2f> vpKltOpencv::getPrevFeatures ( ) const
inline

Get the list of previous features.

Definition at line 124 of file vpKltOpencv.h.

◆ getPyramidLevels()

int vpKltOpencv::getPyramidLevels ( ) const
inline

Get the list of features id.

Get the maximal pyramid level.

Definition at line 129 of file vpKltOpencv.h.

◆ getQuality()

double vpKltOpencv::getQuality ( ) const
inline

Get the parameter characterizing the minimal accepted quality of image corners.

Definition at line 132 of file vpKltOpencv.h.

◆ getWindowSize()

int vpKltOpencv::getWindowSize ( ) const
inline

Get the window size used to refine the corner locations.

Definition at line 134 of file vpKltOpencv.h.

◆ initTracking() [1/3]

void vpKltOpencv::initTracking ( const cv::Mat &  I,
const cv::Mat &  mask = cv::Mat() 
)

Initialise the tracking by extracting KLT keypoints on the provided image.

Parameters
I: Grey level image used as input. This image should have only 1 channel.
mask: Image mask used to restrict the keypoint detection area. If mask is NULL, all the image will be considered.
Exceptions
vpTrackingException::initializationError: If the image I is not initialized, or if the image or the mask have bad coding format.
Examples
trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, and tutorial-klt-tracker.cpp.

Definition at line 117 of file vpKltOpencv.cpp.

Referenced by vpMbKltTracker::reinit().

◆ initTracking() [2/3]

void vpKltOpencv::initTracking ( const cv::Mat &  I,
const std::vector< cv::Point2f > &  pts 
)

Set the points that will be used as initialization during the next call to track().

Parameters
I: Input image.
pts: Vector of points that should be tracked.

Definition at line 473 of file vpKltOpencv.cpp.

◆ initTracking() [3/3]

void vpKltOpencv::initTracking ( const cv::Mat &  I,
const std::vector< cv::Point2f > &  pts,
const std::vector< long > &  ids 
)

Definition at line 486 of file vpKltOpencv.cpp.

References m_gray, m_initial_guess, m_next_points_id, m_points, and m_points_id.

◆ operator=()

vpKltOpencv & vpKltOpencv::operator= ( const vpKltOpencv copy)

Copy operator.

Definition at line 82 of file vpKltOpencv.cpp.

◆ setBlockSize()

◆ setHarrisFreeParameter()

◆ setInitialGuess() [1/2]

void vpKltOpencv::setInitialGuess ( const std::vector< cv::Point2f > &  guess_pts)

Set the points that will be used as initial guess during the next call to track(). A typical usage of this function is to predict the position of the features before the next call to track().

Parameters
guess_pts: Vector of points that should be tracked. The size of this vector should be the same as the one returned by getFeatures(). If this is not the case, an exception is returned. Note also that the id of the points is not modified.
See also
initTracking()

Definition at line 422 of file vpKltOpencv.cpp.

Referenced by vpMbKltTracker::setPose().

◆ setInitialGuess() [2/2]

void vpKltOpencv::setInitialGuess ( const std::vector< cv::Point2f > &  init_pts,
const std::vector< cv::Point2f > &  guess_pts,
const std::vector< long > &  fid 
)

Set the points that will be used as initial guess during the next call to track(). A typical usage of this function is to predict the position of the features before the next call to track().

Parameters
init_pts: Initial points (could be obtained from getPrevFeatures() or getFeatures()).
guess_pts: Prediction of the new position of the initial points. The size of this vector must be the same as the size of the vector of initial points.
fid: Identifiers of the initial points.
See also
getPrevFeatures(),getPrevFeaturesId
getFeatures(), getFeaturesId
initTracking()

Definition at line 449 of file vpKltOpencv.cpp.

◆ setMaxFeatures()

◆ setMinDistance()

◆ setMinEigThreshold()

void vpKltOpencv::setMinEigThreshold ( double  minEigThreshold)

Set the minimal eigen value threshold used to reject a point during the tracking.

Parameters
minEigThreshold: Minimal eigen value threshold. Default value is set to 1e-4.

Definition at line 387 of file vpKltOpencv.cpp.

◆ setPyramidLevels()

◆ setQuality()

void vpKltOpencv::setQuality ( double  qualityLevel)

Set the parameter characterizing the minimal accepted quality of image corners.

Parameters
qualityLevel: Quality level parameter. Default value is set to 0.01. The parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue or the Harris function response. The corners with the quality measure less than the product are rejected. For example, if the best corner has the quality measure = 1500, and the qualityLevel=0.01, then all the corners with the quality measure less than 15 are rejected.
Examples
mbtEdgeKltMultiTracking.cpp, mbtEdgeKltTracking.cpp, mbtGenericTracking.cpp, mbtGenericTracking2.cpp, mbtGenericTrackingDepth.cpp, mbtKltMultiTracking.cpp, mbtKltTracking.cpp, testGenericTracker.cpp, trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, tutorial-klt-tracker.cpp, tutorial-mb-generic-tracker-apriltag-rs2.cpp, tutorial-mb-generic-tracker-apriltag-webcam.cpp, tutorial-mb-generic-tracker-full.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, tutorial-mb-generic-tracker.cpp, tutorial-mb-hybrid-tracker.cpp, tutorial-mb-klt-tracker.cpp, tutorial-mb-tracker-full.cpp, tutorial-mb-tracker-stereo-mono.cpp, and tutorial-mb-tracker.cpp.

Definition at line 355 of file vpKltOpencv.cpp.

Referenced by vpMbKltTracker::vpMbKltTracker().

◆ setTrackerId()

void vpKltOpencv::setTrackerId ( int  tid)
inline

Does nothing. Just here for compat with previous releases that use OpenCV C api to do the tracking.

Examples
trackKltOpencv.cpp.

Definition at line 154 of file vpKltOpencv.h.

Referenced by vpMbKltTracker::vpMbKltTracker().

◆ setUseHarris()

void vpKltOpencv::setUseHarris ( int  useHarrisDetector)

Set the parameter indicating whether to use a Harris detector or the minimal eigenvalue of gradient matrices for corner detection.

Parameters
useHarrisDetector: If 1 (default value), use the Harris detector. If 0 use the eigenvalue.
Examples
trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, and tutorial-klt-tracker.cpp.

Definition at line 371 of file vpKltOpencv.cpp.

Referenced by vpMbKltTracker::vpMbKltTracker().

◆ setWindowSize()

◆ suppressFeature()

void vpKltOpencv::suppressFeature ( const int &  index)

Remove the feature with the given index as parameter.

Parameters
index: Index of the feature to remove.

Definition at line 561 of file vpKltOpencv.cpp.

◆ track()

void vpKltOpencv::track ( const cv::Mat &  I)

Track KLT keypoints using the iterative Lucas-Kanade method with pyramids.

Parameters
I: Input image.
Examples
trackKltOpencv.cpp, tutorial-klt-tracker-live-v4l2.cpp, tutorial-klt-tracker-with-reinit.cpp, and tutorial-klt-tracker.cpp.

Definition at line 146 of file vpKltOpencv.cpp.

Member Data Documentation

◆ m_blockSize

int vpKltOpencv::m_blockSize
protected

Definition at line 170 of file vpKltOpencv.h.

◆ m_gray

cv::Mat vpKltOpencv::m_gray
protected

Definition at line 160 of file vpKltOpencv.h.

Referenced by initTracking().

◆ m_harris_k

double vpKltOpencv::m_harris_k
protected

Definition at line 169 of file vpKltOpencv.h.

◆ m_initial_guess

bool vpKltOpencv::m_initial_guess
protected

Definition at line 174 of file vpKltOpencv.h.

Referenced by initTracking().

◆ m_maxCount

int vpKltOpencv::m_maxCount
protected

Definition at line 163 of file vpKltOpencv.h.

◆ m_minDistance

double vpKltOpencv::m_minDistance
protected

Definition at line 167 of file vpKltOpencv.h.

◆ m_minEigThreshold

double vpKltOpencv::m_minEigThreshold
protected

Definition at line 168 of file vpKltOpencv.h.

◆ m_next_points_id

long vpKltOpencv::m_next_points_id
protected

Definition at line 173 of file vpKltOpencv.h.

Referenced by initTracking().

◆ m_points

std::vector<cv::Point2f> vpKltOpencv::m_points[2]
protected

Previous [0] and current [1] keypoint location.

Definition at line 161 of file vpKltOpencv.h.

Referenced by initTracking().

◆ m_points_id

std::vector<long> vpKltOpencv::m_points_id
protected

Keypoint id.

Definition at line 162 of file vpKltOpencv.h.

Referenced by initTracking().

◆ m_prevGray

cv::Mat vpKltOpencv::m_prevGray
protected

Definition at line 160 of file vpKltOpencv.h.

◆ m_pyrMaxLevel

int vpKltOpencv::m_pyrMaxLevel
protected

Definition at line 172 of file vpKltOpencv.h.

◆ m_qualityLevel

double vpKltOpencv::m_qualityLevel
protected

Definition at line 166 of file vpKltOpencv.h.

◆ m_termcrit

cv::TermCriteria vpKltOpencv::m_termcrit
protected

Definition at line 164 of file vpKltOpencv.h.

◆ m_useHarrisDetector

int vpKltOpencv::m_useHarrisDetector
protected

Definition at line 171 of file vpKltOpencv.h.

◆ m_winSize

int vpKltOpencv::m_winSize
protected

Definition at line 165 of file vpKltOpencv.h.

vpTime::wait
VISP_EXPORT int wait(double t0, double t)
Definition: vpTime.cpp:172
vpKltOpencv::setMinDistance
void setMinDistance(double minDistance)
Definition: vpKltOpencv.cpp:380
vpKltOpencv::getNbFeatures
int getNbFeatures() const
Get the number of current features.
Definition: vpKltOpencv.h:119
vpKltOpencv::track
void track(const cv::Mat &I)
Definition: vpKltOpencv.cpp:146
vpImageConvert::convert
static void convert(const vpImage< unsigned char > &src, vpImage< vpRGBa > &dest)
Definition: vpImageConvert.cpp:78
vpMouseButton::button1
Definition: vpMouseButton.h:52
vpKltOpencv::display
void display(const vpImage< unsigned char > &I, const vpColor &color=vpColor::red, unsigned int thickness=1)
Definition: vpKltOpencv.cpp:216
vpKltOpencv::setQuality
void setQuality(double qualityLevel)
Definition: vpKltOpencv.cpp:355
vpVideoReader::getFirstFrameIndex
long getFirstFrameIndex()
Definition: vpVideoReader.h:301
vpVideoReader::end
bool end()
Definition: vpVideoReader.h:259
vpKltOpencv::setHarrisFreeParameter
void setHarrisFreeParameter(double harris_k)
Definition: vpKltOpencv.cpp:363
vpKltOpencv::initTracking
void initTracking(const cv::Mat &I, const cv::Mat &mask=cv::Mat())
Definition: vpKltOpencv.cpp:117
vpVideoReader::getFrameIndex
long getFrameIndex() const
Definition: vpVideoReader.h:294
vpImagePoint::get_v
double get_v() const
Definition: vpImagePoint.h:273
vpDisplayOpenCV
The vpDisplayOpenCV allows to display image using the OpenCV library. Thus to enable this class OpenC...
Definition: vpDisplayOpenCV.h:140
vpKltOpencv
Wrapper for the KLT (Kanade-Lucas-Tomasi) feature tracker implemented in OpenCV. Thus to enable this ...
Definition: vpKltOpencv.h:77
vpVideoReader
Class that enables to manipulate easily a video file or a sequence of images. As it inherits from the...
Definition: vpVideoReader.h:170
vpColor::green
static const vpColor green
Definition: vpColor.h:181
vpVideoReader::setFileName
void setFileName(const std::string &filename)
Definition: vpVideoReader.cpp:91
vpDisplay::display
static void display(const vpImage< unsigned char > &I)
Definition: vpDisplay_uchar.cpp:739
vpDisplay::displayText
static void displayText(const vpImage< unsigned char > &I, const vpImagePoint &ip, const std::string &s, const vpColor &color)
Definition: vpDisplay_uchar.cpp:663
vpKltOpencv::setWindowSize
void setWindowSize(int winSize)
Definition: vpKltOpencv.cpp:342
vpImagePoint::get_u
double get_u() const
Definition: vpImagePoint.h:262
vpKltOpencv::setPyramidLevels
void setPyramidLevels(int pyrMaxLevel)
Definition: vpKltOpencv.cpp:408
vpKltOpencv::setUseHarris
void setUseHarris(int useHarrisDetector)
Definition: vpKltOpencv.cpp:371
vpImagePoint
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition: vpImagePoint.h:87
vpMouseButton::button3
Definition: vpMouseButton.h:54
vpDisplay::flush
static void flush(const vpImage< unsigned char > &I)
Definition: vpDisplay_uchar.cpp:715
vpDisplay::displayCross
static void displayCross(const vpImage< unsigned char > &I, const vpImagePoint &ip, unsigned int size, const vpColor &color, unsigned int thickness=1)
Definition: vpDisplay_uchar.cpp:179
vpImage< unsigned char >
vpDisplay::getClick
static bool getClick(const vpImage< unsigned char > &I, bool blocking=true)
Definition: vpDisplay_uchar.cpp:764
vpMouseButton::vpMouseButtonType
vpMouseButtonType
Definition: vpMouseButton.h:51
vpException
error that can be emited by ViSP classes.
Definition: vpException.h:70
vpVideoReader::acquire
void acquire(vpImage< vpRGBa > &I)
Definition: vpVideoReader.cpp:243
vpColor::red
static const vpColor red
Definition: vpColor.h:178
vpKltOpencv::setBlockSize
void setBlockSize(int blockSize)
Definition: vpKltOpencv.cpp:398
vpKltOpencv::setMaxFeatures
void setMaxFeatures(int maxCount)
Definition: vpKltOpencv.cpp:333