![]() |
Visual Servoing Platform
version 3.3.0
|
#include <vpTemplateTrackerZone.h>
Public Member Functions | |
| vpTemplateTrackerZone () | |
| vpTemplateTrackerZone (const vpTemplateTrackerZone &z) | |
| virtual | ~vpTemplateTrackerZone () |
| void | add (const vpTemplateTrackerTriangle &t) |
| void | clear () |
| void | copy (const vpTemplateTrackerZone &z) |
| void | display (const vpImage< unsigned char > &I, const vpColor &col=vpColor::green, unsigned int thickness=3) |
| void | display (const vpImage< vpRGBa > &I, const vpColor &col=vpColor::green, unsigned int thickness=3) |
| void | fillTriangle (vpImage< unsigned char > &I, unsigned int id, unsigned char gray_level) |
| double | getArea () const |
| vpImagePoint | getCenter () const |
| vpImagePoint | getCenter (int borne_x, int borne_y) const |
| int | getMaxx () const |
| int | getMaxy () const |
| int | getMinx () const |
| int | getMiny () const |
| vpRect | getBoundingBox () const |
| unsigned int | getNbTriangle () const |
| vpTemplateTrackerZone | getPyramidDown () const |
| void | getTriangle (unsigned int i, vpTemplateTrackerTriangle &T) const |
| vpTemplateTrackerTriangle | getTriangle (unsigned int i) const |
| void | initClick (const vpImage< unsigned char > &I, bool delaunay=false) |
| void | initFromPoints (const vpImage< unsigned char > &I, const std::vector< vpImagePoint > &ip, bool delaunay=false) |
| bool | inZone (const int &i, const int &j) const |
| bool | inZone (const double &i, const double &j) const |
| bool | inZone (const int &i, const int &j, unsigned int &id_triangle) const |
| bool | inZone (const double &i, const double &j, unsigned int &id_triangle) const |
| vpTemplateTrackerZone & | operator= (const vpTemplateTrackerZone &z) |
Protected Attributes | |
| std::vector< vpTemplateTrackerTriangle > | Zone |
| int | min_x |
| int | min_y |
| int | max_x |
| int | max_y |
A zone is defined by a set of triangles defined as vpTemplateTrackerTriangle.
A zone can be initialized either by user interaction using mouse click in a display device throw initClick(), or by a list of points throw initFromPoints().
Definition at line 61 of file vpTemplateTrackerZone.h.
| vpTemplateTrackerZone::vpTemplateTrackerZone | ( | ) |
Default constructor.
Definition at line 53 of file vpTemplateTrackerZone.cpp.
| vpTemplateTrackerZone::vpTemplateTrackerZone | ( | const vpTemplateTrackerZone & | z | ) |
Copy constructor.
Definition at line 58 of file vpTemplateTrackerZone.cpp.
|
virtual |
Destructor.
Definition at line 477 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::add | ( | const vpTemplateTrackerTriangle & | t | ) |
Add a triangle to the zone and update the bounding box.
| t | : Triangle to introduce in the zone. |
Definition at line 248 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::clear | ( | ) |
Remove all the triangles that define the zone.
Definition at line 67 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::copy | ( | const vpTemplateTrackerZone & | z | ) |
Copy all the triangles that define zone Z in the current zone (*this) and update the zone bounding box.
| z | : Zone with a set of triangles provided as input. |
Definition at line 521 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::display | ( | const vpImage< unsigned char > & | I, |
| const vpColor & | col = vpColor::green, |
||
| unsigned int | thickness = 3 |
||
| ) |
If a display device is associated to image I, display in overlay the triangles that define the zone.
| I | : Image. |
| col | : Color used to display the triangles. |
| thickness | : Thickness of the triangle lines. |
Definition at line 445 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::display | ( | const vpImage< vpRGBa > & | I, |
| const vpColor & | col = vpColor::green, |
||
| unsigned int | thickness = 3 |
||
| ) |
If a display device is associated to image I, display in overlay the triangles that define the zone.
| I | : Image. |
| col | : Color used to display the triangles. |
| thickness | : Thickness of the triangle lines. |
Definition at line 462 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::fillTriangle | ( | vpImage< unsigned char > & | I, |
| unsigned int | id, | ||
| unsigned char | gray_level | ||
| ) |
Modify all the pixels inside a triangle with a given gray level.
| I | Output image. |
| id | Triangle id. This value should be less than the number of triangles used to define the zone and available using getNbTriangle(). |
| gray_level | Color used to fill the triangle with. |
Definition at line 486 of file vpTemplateTrackerZone.cpp.
| double vpTemplateTrackerZone::getArea | ( | ) | const |
Return the area of the template zone.
Definition at line 572 of file vpTemplateTrackerZone.cpp.
| vpRect vpTemplateTrackerZone::getBoundingBox | ( | ) | const |
| vpImagePoint vpTemplateTrackerZone::getCenter | ( | ) | const |
Return the position of the center of gravity of the zone.
| vpException::divideByZeroError | The size of the zone is null. |
Definition at line 385 of file vpTemplateTrackerZone.cpp.
| vpImagePoint vpTemplateTrackerZone::getCenter | ( | int | borne_x, |
| int | borne_y | ||
| ) | const |
Return the position of the center of gravity in a given area.
| borne_x | : Right coordinate of the area to consider. |
| borne_y | : Bottom coordinate of the area to consider. |
| vpException::divideByZeroError | The size of the zone is null. |
Definition at line 546 of file vpTemplateTrackerZone.cpp.
| int vpTemplateTrackerZone::getMaxx | ( | ) | const |
Definition at line 411 of file vpTemplateTrackerZone.cpp.
| int vpTemplateTrackerZone::getMaxy | ( | ) | const |
Definition at line 416 of file vpTemplateTrackerZone.cpp.
| int vpTemplateTrackerZone::getMinx | ( | ) | const |
Definition at line 421 of file vpTemplateTrackerZone.cpp.
| int vpTemplateTrackerZone::getMiny | ( | ) | const |
Definition at line 426 of file vpTemplateTrackerZone.cpp.
|
inline |
Return the number of triangles that define the zone.
Definition at line 99 of file vpTemplateTrackerZone.h.
| vpTemplateTrackerZone vpTemplateTrackerZone::getPyramidDown | ( | ) | const |
Return a zone with triangles that are down scaled by a factor 2.
Definition at line 503 of file vpTemplateTrackerZone.cpp.
| vpTemplateTrackerTriangle vpTemplateTrackerZone::getTriangle | ( | unsigned int | i | ) | const |
A zone is defined by a set of triangles. This function returns the ith triangle.
| i | : Index of the triangle to return. |
The following sample code shows how to use this function:
Definition at line 374 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::getTriangle | ( | unsigned int | i, |
| vpTemplateTrackerTriangle & | T | ||
| ) | const |
A zone is defined by a set of triangles. This function returns the ith triangle.
| i | : Index of the triangle to return. |
| T | : The triangle corresponding to index i. |
The following sample code shows how to use this function:
Definition at line 353 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::initClick | ( | const vpImage< unsigned char > & | I, |
| bool | delaunay = false |
||
| ) |
Initialize a zone in image I using mouse click.
| I | : Image used to select the zone. |
| delaunay | : Flag used to enable Delaunay triangulation.
|
Definition at line 110 of file vpTemplateTrackerZone.cpp.
| void vpTemplateTrackerZone::initFromPoints | ( | const vpImage< unsigned char > & | I, |
| const std::vector< vpImagePoint > & | vip, | ||
| bool | delaunay = false |
||
| ) |
Initialize the zone using a vector of image points.
| I | : Image to process. |
| vip | : Vector of image points used as initialization. |
| delaunay | :
|
Definition at line 167 of file vpTemplateTrackerZone.cpp.
| bool vpTemplateTrackerZone::inZone | ( | const double & | i, |
| const double & | j | ||
| ) | const |
Test if a pixel with coordinates (i,j) is in the zone..
| i,j | : Coordinates of the pixel to test. |
Definition at line 285 of file vpTemplateTrackerZone.cpp.
| bool vpTemplateTrackerZone::inZone | ( | const double & | i, |
| const double & | j, | ||
| unsigned int & | id_triangle | ||
| ) | const |
Test if a pixel with coordinates (i,j) is in the zone and returns also the index of the triangle that contains the pixel.
| i,j | : Coordinates of the pixel to test. |
| id_triangle | : Index of the triangle that contains the pixel (i,j). |
Definition at line 323 of file vpTemplateTrackerZone.cpp.
| bool vpTemplateTrackerZone::inZone | ( | const int & | i, |
| const int & | j | ||
| ) | const |
Test if a pixel with coordinates (i,j) is in the zone..
| i,j | : Coordinates of the pixel to test. |
Definition at line 269 of file vpTemplateTrackerZone.cpp.
Referenced by vpTemplateTracker::initTracking().
| bool vpTemplateTrackerZone::inZone | ( | const int & | i, |
| const int & | j, | ||
| unsigned int & | id_triangle | ||
| ) | const |
Test if a pixel with coordinates (i,j) is in the zone and returns also the index of the triangle that contains the pixel.
| i,j | : Coordinates of the pixel to test. |
| id_triangle | : Index of the triangle that contains the pixel (i,j). |
Definition at line 302 of file vpTemplateTrackerZone.cpp.
| vpTemplateTrackerZone & vpTemplateTrackerZone::operator= | ( | const vpTemplateTrackerZone & | z | ) |
Copy operator.
Definition at line 80 of file vpTemplateTrackerZone.cpp.
|
protected |
Bounding box parameter.
Definition at line 67 of file vpTemplateTrackerZone.h.
|
protected |
Bounding box parameter.
Definition at line 68 of file vpTemplateTrackerZone.h.
|
protected |
Bounding box parameter.
Definition at line 65 of file vpTemplateTrackerZone.h.
|
protected |
Bounding box parameter.
Definition at line 66 of file vpTemplateTrackerZone.h.
|
protected |
Vector of triangles that defines the zone.
Definition at line 64 of file vpTemplateTrackerZone.h.