155 double getArea()
const;
167 bbox.
setRect(this->bbox_u_min, this->bbox_v_min, this->bbox_u_max - this->bbox_u_min + 1,
168 this->bbox_v_max - this->bbox_v_min + 1);
179 double getDistance(
const vpDot2 &distantDot)
const;
189 void getEdges(std::list<vpImagePoint> &edges_list)
const { edges_list = this->ip_edges_list; };
199 std::list<vpImagePoint>
getEdges()
const {
return (this->ip_edges_list); };
208 double getEllipsoidShapePrecision()
const;
209 void getFreemanChain(std::list<unsigned int> &freeman_chain)
const;
211 inline double getGamma()
const {
return this->gamma; };
224 double getGrayLevelPrecision()
const;
226 double getHeight()
const;
227 double getMaxSizeSearchDistancePrecision()
const;
236 double getSizePrecision()
const;
237 double getWidth()
const;
242 unsigned int gray_lvl_max,
unsigned int size = 0);
245 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os,
vpDot2 &d);
247 void print(std::ostream &os) { os << *
this << std::endl; }
249 unsigned int area_h, std::list<vpDot2> &niceDots);
253 void setArea(
const double &area);
290 allowedBadPointsPercentage_ = 0.;
291 else if (percentage > 1.)
292 allowedBadPointsPercentage_ = 1.;
294 allowedBadPointsPercentage_ = percentage;
297 void setEllipsoidShapePrecision(
const double &ellipsoidShapePrecision);
334 this->gray_level_min = 255;
336 this->gray_level_min = min;
351 this->gray_level_max = 255;
353 this->gray_level_max = max;
355 void setGrayLevelPrecision(
const double &grayLevelPrecision);
356 void setHeight(
const double &height);
357 void setMaxSizeSearchDistancePrecision(
const double &maxSizeSearchDistancePrecision);
358 void setSizePrecision(
const double &sizePrecision);
359 void setWidth(
const double &width);
365 std::vector<vpImagePoint> &cogs,
vpImagePoint *cogStar = NULL);
367#ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
440 virtual bool hasGoodLevel(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v)
const;
441 virtual bool hasReverseLevel(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v)
const;
443 virtual vpDot2 *getInstance();
450 unsigned int &border_u,
unsigned int &border_v);
461 unsigned int getFirstBorder_u()
const {
return this->firstBorder_u; }
470 unsigned int getFirstBorder_v()
const {
return this->firstBorder_v; }
472 bool computeFreemanChainElement(
const vpImage<unsigned char> &I,
const unsigned int &u,
const unsigned int &v,
473 unsigned int &element);
474 void computeFreemanParameters(
const int &u_p,
const int &v_p,
unsigned int &element,
int &du,
int &dv,
float &dS,
475 float &dMu,
float &dMv,
float &dMuv,
float &dMu2,
float &dMv2);
476 void updateFreemanPosition(
unsigned int &u,
unsigned int &v,
const unsigned int &dir);
481 bool isInArea(
const unsigned int &u,
const unsigned int &v)
const;
483 void getGridSize(
unsigned int &gridWidth,
unsigned int &gridHeight);
486 void setArea(
const vpRect &a);
495 unsigned int gray_level_min;
499 unsigned int gray_level_max;
502 double mean_gray_level;
503 double grayLevelPrecision;
505 double sizePrecision;
506 double ellipsoidShapePrecision;
507 double maxSizeSearchDistancePrecision;
508 double allowedBadPointsPercentage_;
513 std::list<unsigned int> direction_list;
514 std::list<vpImagePoint> ip_edges_list;
520 unsigned int thickness;
523 int bbox_u_min, bbox_u_max, bbox_v_min, bbox_v_max;
526 unsigned int firstBorder_u;
527 unsigned int firstBorder_v;
533 unsigned int thickness = 1);