39#ifndef VP_MBT_ME_LINE_H
40#define VP_MBT_ME_LINE_H
42#include <visp3/core/vpConfig.h>
43#include <visp3/core/vpPoint.h>
44#include <visp3/me/vpMe.h>
45#include <visp3/me/vpMeLine.h>
47#ifndef DOXYGEN_SHOULD_SKIP_THIS
67class VISP_EXPORT vpMbtMeLine :
public vpMeLine
72 double expecteddensity;
76 vpMbtMeLine(
const vpMbtMeLine &meline);
77 vpMbtMeLine &
operator=(
const vpMbtMeLine &meline);
79 void computeProjectionError(
const vpImage<unsigned char> &_I,
double &_sumErrorRad,
unsigned int &_nbFeatures,
80 const vpMatrix &SobelX,
const vpMatrix &SobelY,
bool display,
unsigned int length,
81 unsigned int thickness);
83 void display(
const vpImage<unsigned char> & ,
const vpColor &,
unsigned int ) { }
92 inline double get_a()
const {
return m_a; }
100 inline double get_b()
const {
return m_b; }
108 inline double get_c()
const {
return m_c; }
110 void initTracking(
const vpImage<unsigned char> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
double rho,
111 double theta,
bool doNoTrack);
113 void track(
const vpImage<unsigned char> &I);
115 void updateParameters(
const vpImage<unsigned char> &I,
double rho,
double theta);
116 void updateParameters(
const vpImage<unsigned char> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
double rho,
120 virtual unsigned int seekExtremities(
const vpImage<unsigned char> &I) VP_OVERRIDE;
122 void suppressPoints(
const vpImage<unsigned char> &I);
124 void reSample(
const vpImage<unsigned char> &image,
const vpImagePoint &ip1,
const vpImagePoint &ip2);
Class that tracks in an image a line moving edges.
void display(const vpImage< unsigned char > &I, const vpColor &color, unsigned int thickness=1)
void reSample(const vpImage< unsigned char > &I)
void track(const vpImage< unsigned char > &I)
void initTracking(const vpImage< unsigned char > &I)
virtual unsigned int seekExtremities(const vpImage< unsigned char > &I)
vpMeLine & operator=(const vpMeLine &meline)
void display(const vpImage< unsigned char > &I)