50 #include <visp/vpImage.h>
51 #include <visp/vpRect.h>
52 #include <visp/vpTracker.h>
53 #include <visp/vpColor.h>
54 #include <visp/vpImagePoint.h>
56 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
57 # include <visp/vpList.h>
142 unsigned int thickness=1);
144 double getArea()
const;
157 this->bbox_u_max - this->bbox_u_min + 1,
158 this->bbox_v_max - this->bbox_v_min + 1);
171 double getDistance(
const vpDot2& distantDot )
const;
181 void getEdges(std::list<vpImagePoint> &edges_list) {
182 edges_list = this->ip_edges_list;
192 return allowedBadPointsPercentage_;
195 double getEllipsoidShapePrecision()
const;
196 void getFreemanChain(std::list<unsigned int> &freeman_chain) ;
205 return gray_level_min;
213 return gray_level_max;
215 double getGrayLevelPrecision()
const;
217 double getHeight()
const;
218 double getMaxSizeSearchDistancePrecision()
const;
223 return (this->mean_gray_level);
225 double getSizePrecision()
const;
226 double getSurface()
const;
227 double getWidth()
const;
231 unsigned int size = 0);
233 unsigned int gray_level_min,
unsigned int gray_level_max,
234 unsigned int size = 0 );
242 friend VISP_EXPORT std::ostream& operator<< (std::ostream& os,
vpDot2& d) {
243 return (os <<
"(" << d.
getCog() <<
")" ) ;
246 void print(std::ostream& os) { os << *
this << std::endl ; }
248 int area_u,
int area_v,
249 unsigned int area_w,
unsigned int area_h, std::list<vpDot2> &niceDots );
253 void setArea(
const double & area );
291 allowedBadPointsPercentage_ = 0.;
292 else if (percentage > 1.)
293 allowedBadPointsPercentage_ = 1.;
295 allowedBadPointsPercentage_ = percentage;
298 void setEllipsoidShapePrecision(
const double & ellipsoidShapePrecision);
333 this->gray_level_min = 255;
335 this->gray_level_min = min;
349 this->gray_level_max = 255;
351 this->gray_level_max = max;
353 void setGrayLevelPrecision(
const double & grayLevelPrecision );
354 void setHeight(
const double & height );
355 void setMaxSizeSearchDistancePrecision(
const double & maxSizeSearchDistancePrecision);
356 void setSizePrecision(
const double & sizePrecision );
357 void setSurface(
const double & surface );
358 void setWidth(
const double & width );
364 std::vector<vpImagePoint> &cogs,
vpImagePoint* cogStar = NULL);
432 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
450 std::list<vpImagePoint>::const_iterator it;
451 for (it = ip_edges_list.begin(); it != ip_edges_list.end(); ++it) {
457 int area_u,
int area_v,
458 unsigned int area_w,
unsigned int area_h );
467 const unsigned int &u,
468 const unsigned int &v)
const;
470 const unsigned int &u,
471 const unsigned int &v)
const;
473 virtual vpDot2* getInstance();
478 const double &u = -1.0,
479 const double &v = -1.0);
484 const unsigned int &v,
unsigned int &border_u,
485 unsigned int &border_v);
496 unsigned int getFirstBorder_u()
const {
497 return this->firstBorder_u;
507 unsigned int getFirstBorder_v()
const {
508 return this->firstBorder_v;
512 const unsigned int &u,
513 const unsigned int &v,
514 unsigned int &element);
515 void computeFreemanParameters(
const int &u_p,
516 const int &v_p,
unsigned int &element,
517 int &du,
int &dv,
float &dS,
518 float &dMu,
float &dMv,
520 float &dMu2,
float &dMv2);
521 void updateFreemanPosition(
unsigned int& u,
unsigned int& v,
522 const unsigned int &dir );
528 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
530 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight );
532 int u,
int v,
unsigned int w,
unsigned int h);
534 void setArea(
const vpRect & a);
543 unsigned int gray_level_min;
547 unsigned int gray_level_max;
550 double mean_gray_level;
551 double grayLevelPrecision ;
553 double sizePrecision ;
554 double ellipsoidShapePrecision;
555 double maxSizeSearchDistancePrecision;
556 double allowedBadPointsPercentage_;
561 std::list<unsigned int> direction_list;
562 std::list<vpImagePoint> ip_edges_list;
565 bool compute_moment ;
568 unsigned int thickness;
571 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
574 unsigned int firstBorder_u;
575 unsigned int firstBorder_v;
581 unsigned int thickness=1);
584 unsigned int thickness=1);