Visual Servoing Platform
version 3.0.0
|
#include <visp3/core/vpImagePoint.h>
Public Member Functions | |
vpImagePoint () | |
vpImagePoint (double ii, double jj) | |
vpImagePoint (const vpImagePoint &ip) | |
virtual | ~vpImagePoint () |
const vpImagePoint & | operator= (const vpImagePoint &ip) |
vpImagePoint & | operator+= (const vpImagePoint &ip) |
vpImagePoint & | operator-= (const vpImagePoint &ip) |
vpImagePoint & | operator/= (const double scale) |
vpImagePoint & | operator*= (const double scale) |
void | set_i (const double ii) |
void | set_j (const double jj) |
void | set_ij (const double ii, const double jj) |
double | get_i () const |
double | get_j () const |
void | set_u (const double u) |
void | set_v (const double v) |
void | set_uv (const double u, const double v) |
double | get_u () const |
double | get_v () const |
bool | inRectangle (const vpRect &rect) const |
Static Public Member Functions | |
static double | distance (const vpImagePoint &iP1, const vpImagePoint &iP2) |
static vpRect | getBBox (const std::vector< vpImagePoint > &ipVec) |
static double | sqrDistance (const vpImagePoint &iP1, const vpImagePoint &iP2) |
Friends | |
VISP_EXPORT bool | operator== (const vpImagePoint &ip1, const vpImagePoint &ip2) |
VISP_EXPORT bool | operator!= (const vpImagePoint &ip1, const vpImagePoint &ip2) |
VISP_EXPORT vpImagePoint | operator+= (const vpImagePoint &ip1, const vpImagePoint &ip2) |
VISP_EXPORT vpImagePoint | operator+ (const vpImagePoint &ip1, const vpImagePoint &ip2) |
VISP_EXPORT vpImagePoint | operator+ (const vpImagePoint &ip1, const int offset) |
VISP_EXPORT vpImagePoint | operator+ (const vpImagePoint &ip1, const double offset) |
VISP_EXPORT vpImagePoint | operator- (const vpImagePoint &ip1, const vpImagePoint &ip2) |
VISP_EXPORT vpImagePoint | operator- (const vpImagePoint &ip1, const int offset) |
VISP_EXPORT vpImagePoint | operator- (const vpImagePoint &ip1, const double offset) |
VISP_EXPORT vpImagePoint | operator* (const vpImagePoint &ip1, const double scale) |
VISP_EXPORT vpImagePoint | operator/ (const vpImagePoint &ip1, const double scale) |
VISP_EXPORT std::ostream & | operator<< (std::ostream &os, const vpImagePoint &ip) |
Class that defines a 2D point in an image. This class is useful for image processing and stores only the 2D coordinates given in sub-pixel.
In this class, the 2D coordinates are not necessary integer values. It is easy to manipulate the given coordinates in the two frames used in ViSP : the (i,j) coordinates and the (u,v) coordinates. The two following images illustrate the two coordinate systems.
Definition at line 88 of file vpImagePoint.h.
|
inline |
Default constructor that initialize the coordinates of the image point to zero.
Definition at line 95 of file vpImagePoint.h.
|
inline |
Default constructor that initialize the coordinates of the image thanks to the parameters and .
Definition at line 100 of file vpImagePoint.h.
|
inline |
Copy constructor.
Initialize the coordinates of the image point with ip.
ip | : An image point. |
Definition at line 108 of file vpImagePoint.h.
|
inlinevirtual |
Destructor.
Definition at line 110 of file vpImagePoint.h.
|
inlinestatic |
Compute the distance
iP1 | : First point |
iP2 | : Second point |
Definition at line 270 of file vpImagePoint.h.
References get_i(), get_j(), and vpMath::sqr().
Referenced by vpDisplayGTK::displayArrow(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpNurbs::globalCurveInterp(), vpMeNurbs::seekExtremities(), vpMeNurbs::track(), and vpMeNurbs::updateDelta().
|
inline |
Gets the point coordinate corresponding to the axes in the frame (i,j).
Definition at line 190 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpNurbs::computeCurveDersPoint(), vpMeEllipse::display(), vpDisplayGTK::displayArrow(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayCross(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplay::displayEllipse(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayImageROI(), vpDisplayOpenCV::displayImageROI(), vpKeyPoint::displayMatching(), vpMbtDistanceKltPoints::displayPrimitive(), vpMbtDistanceKltCylinder::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), distance(), vpPolygon3D::getNbCornerInsideImage(), vpImage< double >::getValue(), vpImage< vpRGBa >::getValue(), vpImage< unsigned char >::getValue(), vpMbtDistanceLine::initMovingEdge(), vpMbtDistanceCylinder::initMovingEdge(), vpMeEllipse::initTracking(), vpMeLine::initTracking(), vpDot2::initTracking(), vpDot::initTracking(), vpImage< Type >::insert(), vpTriangle::inTriangle(), vpTemplateTrackerTriangle::inTriangle(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), vpWireFrameSimulator::navigation(), vpImage< unsigned char >::operator()(), vpMeTracker::outOfImage(), vpHomography::projection(), vpNurbs::removeCurveKnot(), vpMeNurbs::seekExtremitiesCanny(), sqrDistance(), vpMbtDistanceLine::updateMovingEdge(), and vpMbtDistanceCylinder::updateMovingEdge().
|
inline |
Gets the point coordinate corresponding to the axes in the frame (i,j).
Definition at line 201 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpNurbs::computeCurveDersPoint(), vpPlanarObjectDetector::computeRoi(), vpMeEllipse::display(), vpDisplayGTK::displayArrow(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayCross(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplay::displayEllipse(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayImageROI(), vpDisplayOpenCV::displayImageROI(), vpKeyPoint::displayMatching(), vpMbtDistanceKltPoints::displayPrimitive(), vpMbtDistanceKltCylinder::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), distance(), vpPolygon3D::getNbCornerInsideImage(), vpImage< double >::getValue(), vpImage< vpRGBa >::getValue(), vpImage< unsigned char >::getValue(), vpMbtDistanceLine::initMovingEdge(), vpMbtDistanceCylinder::initMovingEdge(), vpMeEllipse::initTracking(), vpMeLine::initTracking(), vpDot2::initTracking(), vpDot::initTracking(), vpImage< Type >::insert(), vpTriangle::inTriangle(), vpTemplateTrackerTriangle::inTriangle(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), vpWireFrameSimulator::navigation(), vpImage< unsigned char >::operator()(), vpMeTracker::outOfImage(), vpHomography::projection(), vpNurbs::removeCurveKnot(), vpMeNurbs::seekExtremitiesCanny(), sqrDistance(), vpMbtDistanceLine::updateMovingEdge(), and vpMbtDistanceCylinder::updateMovingEdge().
|
inline |
Gets the point coordinate corresponding to the axes in the frame (u,v).
Definition at line 248 of file vpImagePoint.h.
Referenced by vpPlanarObjectDetector::buildReference(), vpFernClassifier::buildReference(), vpCalibration::computeStdDeviation(), vpCalibration::computeStdDeviation_dist(), vpPixelMeterConversion::convertPointWithDistortion(), vpPixelMeterConversion::convertPointWithoutDistortion(), vpDot2::defineDots(), vpDisplayGTK::displayCharString(), vpDisplayX::displayCharString(), vpDisplayOpenCV::displayCharString(), vpDisplayGTK::displayCircle(), vpDisplayX::displayCircle(), vpDisplayOpenCV::displayCircle(), vpCalibration::displayData(), vpDisplayGTK::displayDotLine(), vpDisplayX::displayDotLine(), vpDisplayOpenCV::displayDotLine(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayImageROI(), vpDisplayGTK::displayLine(), vpDisplayX::displayLine(), vpDisplayOpenCV::displayLine(), vpDisplayGTK::displayPoint(), vpDisplayX::displayPoint(), vpDisplayGTK::displayRectangle(), vpDisplayX::displayRectangle(), vpDisplayOpenCV::displayRectangle(), vpDisplayWin32::flushDisplayROI(), vpDisplayX::flushDisplayROI(), vpDot2::getDistance(), vpTemplateTrackerTriangle::init(), vpRect::moveCenter(), vpHomography::project(), vpDot2::searchDotsInArea(), vpRect::set(), vpRect::setBottomRight(), vpRect::setTopLeft(), vpDot2::track(), vpDot::track(), vpRect::vpRect(), vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(), and vpCalibration::writeData().
|
inline |
Gets the point coordinate corresponding to the axes in the frame (u,v).
Definition at line 259 of file vpImagePoint.h.
Referenced by vpPlanarObjectDetector::buildReference(), vpFernClassifier::buildReference(), vpCalibration::computeStdDeviation(), vpCalibration::computeStdDeviation_dist(), vpPixelMeterConversion::convertPointWithDistortion(), vpPixelMeterConversion::convertPointWithoutDistortion(), vpDot2::defineDots(), vpDisplayGTK::displayCharString(), vpDisplayX::displayCharString(), vpDisplayOpenCV::displayCharString(), vpDisplayGTK::displayCircle(), vpDisplayX::displayCircle(), vpDisplayOpenCV::displayCircle(), vpCalibration::displayData(), vpDisplayGTK::displayDotLine(), vpDisplayX::displayDotLine(), vpDisplayOpenCV::displayDotLine(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayImageROI(), vpDisplayGTK::displayLine(), vpDisplayX::displayLine(), vpDisplayOpenCV::displayLine(), vpDisplayGTK::displayPoint(), vpDisplayX::displayPoint(), vpDisplayGTK::displayRectangle(), vpDisplayX::displayRectangle(), vpDisplayOpenCV::displayRectangle(), vpDisplayWin32::flushDisplayROI(), vpDisplayX::flushDisplayROI(), vpDot2::getDistance(), vpTemplateTrackerTriangle::init(), vpRect::moveCenter(), vpHomography::project(), vpDot2::searchDotsInArea(), vpRect::set(), vpRect::setBottomRight(), vpRect::setTopLeft(), vpDot2::track(), vpDot::track(), vpRect::vpRect(), vpTemplateTrackerTriangle::vpTemplateTrackerTriangle(), and vpCalibration::writeData().
|
static |
Computes and returns the bounding box.
ipVec | : Vector of input image points. |
Definition at line 381 of file vpImagePoint.cpp.
bool vpImagePoint::inRectangle | ( | const vpRect & | rect | ) | const |
Check if an image point belongs to a rectangle.
rect | : the rectangle. |
Definition at line 53 of file vpImagePoint.cpp.
References vpRect::getBottom(), vpRect::getLeft(), vpRect::getRight(), and vpRect::getTop().
Referenced by vpPlot::navigate().
|
inline |
Operator *=.
Definition at line 139 of file vpImagePoint.h.
vpImagePoint & vpImagePoint::operator+= | ( | const vpImagePoint & | ip | ) |
Operator +=.
This operator can be used to compute the center of gravity of a set of image points.
Definition at line 88 of file vpImagePoint.cpp.
|
inline |
Operator -=.
Definition at line 129 of file vpImagePoint.h.
vpImagePoint & vpImagePoint::operator/= | ( | const double | scale | ) |
Operator /=.
This operator can be used to compute the center of gravity of a set of image points.
Definition at line 120 of file vpImagePoint.cpp.
|
inline |
Copy operator.
Definition at line 117 of file vpImagePoint.h.
|
inline |
Sets the point coordinate corresponding to the axes in the frame (i,j).
ii | : The desired value for the coordinate along the axes. |
Definition at line 154 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::computeCurvePoint(), vpBSpline::computeCurvePoint(), vpMeLine::computeRhoTheta(), vpMeLine::display(), vpMeEllipse::display(), vpDisplayGTK::displayArrow(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplay::displayArrow(), vpDisplay::displayCharString(), vpDisplay::displayCircle(), vpDisplayGTK::displayCross(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplay::displayCross(), vpDisplay::displayDotLine(), vpDisplay::displayEllipse(), vpDisplay::displayLine(), vpDisplay::displayPoint(), vpMbtDistanceKltPoints::displayPrimitive(), vpMbtDistanceKltCylinder::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), vpDisplay::displayText(), vpMeLine::getExtremities(), vpMeSite::getQueryList(), vpImage< double >::getValue(), vpImage< unsigned char >::getValue(), vpImage< vpRGBa >::getValue(), vpMeTracker::initTracking(), vpMeEllipse::initTracking(), vpMeLine::intersection(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), vpHomography::projection(), vpNurbs::refineKnotVectCurve(), vpNurbs::removeCurveKnot(), vpMeLine::sample(), vpMeLine::seekExtremities(), vpImageSimulator::setCameraPosition(), vpMeTracker::track(), vpMeSite::track(), vpPolygon::updateCenter(), and vpMeEllipse::vpMeEllipse().
|
inline |
Sets the point coordinates in the frame (i,j).
ii | : The desired value for the coordinate along the axes. |
jj | : The desired value for the coordinate along the axes. |
Definition at line 176 of file vpImagePoint.h.
Referenced by vpKeyPoint::compute3DForPointsInPolygons(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::curveKnotIns(), vpMbtDistanceKltCylinder::display(), vpMbtDistanceCylinder::display(), vpFeatureDisplay::displayLine(), vpKeyPoint::displayMatching(), vpImageSimulator::getImage(), vpBasicKeyPoint::getMatchedPoints(), vpBasicKeyPoint::getReferencePoint(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveInterp(), vpMbtDistanceCylinder::initMovingEdge(), vpMeNurbs::seekExtremities(), and vpMbtDistanceCylinder::updateMovingEdge().
|
inline |
Sets the point coordinate corresponding to the axes in the frame (i,j).
jj | : The desired value for the coordinate along the axes. |
Definition at line 165 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::computeCurvePoint(), vpBSpline::computeCurvePoint(), vpMeLine::computeRhoTheta(), vpMeLine::display(), vpMeEllipse::display(), vpDisplayGTK::displayArrow(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplay::displayArrow(), vpDisplay::displayCharString(), vpDisplay::displayCircle(), vpDisplayGTK::displayCross(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplay::displayCross(), vpDisplay::displayDotLine(), vpDisplay::displayEllipse(), vpDisplay::displayLine(), vpDisplay::displayPoint(), vpMbtDistanceKltPoints::displayPrimitive(), vpMbtDistanceKltCylinder::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), vpDisplay::displayText(), vpMeLine::getExtremities(), vpMeSite::getQueryList(), vpImage< double >::getValue(), vpImage< unsigned char >::getValue(), vpImage< vpRGBa >::getValue(), vpMeTracker::initTracking(), vpMeEllipse::initTracking(), vpMeLine::intersection(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), vpHomography::projection(), vpNurbs::removeCurveKnot(), vpMeLine::sample(), vpMeLine::seekExtremities(), vpImageSimulator::setCameraPosition(), vpMeTracker::track(), vpMeSite::track(), vpPolygon::updateCenter(), and vpMeEllipse::vpMeEllipse().
|
inline |
Sets the point coordinate corresponding to the axes in the frame (u,v).
u | : The desired value for the coordinate along the axes. |
Definition at line 212 of file vpImagePoint.h.
Referenced by vpKltOpencv::display(), vpCalibration::displayData(), vpFeatureDisplay::displayEllipse(), vpCalibration::displayGrid(), vpDisplay::displayRectangle(), vpRect::getBottomRight(), vpRect::getCenter(), vpDisplayWin32::getClick(), vpDisplayGTK::getClick(), vpDisplayX::getClick(), vpDisplayOpenCV::getClick(), vpDisplayWin32::getClickUp(), vpDisplayGTK::getClickUp(), vpDisplayX::getClickUp(), vpDisplayOpenCV::getClickUp(), vpDisplayWin32::getPointerMotionEvent(), vpDisplayGTK::getPointerMotionEvent(), vpDisplayX::getPointerMotionEvent(), vpDisplayOpenCV::getPointerMotionEvent(), vpDisplayWin32::getPointerPosition(), vpDisplayGTK::getPointerPosition(), vpDisplayX::getPointerPosition(), vpDisplayOpenCV::getPointerPosition(), vpRect::getTopLeft(), vpKeyPoint::matchPointAndDetect(), vpCalibration::readData(), vpDot2::searchDotsInArea(), and vpDot::track().
|
inline |
Sets the point coordinates in the frame (u,v).
u | : The desired value for the coordinate along the axes. |
v | : The desired value for the coordinate along the axes. |
Definition at line 234 of file vpImagePoint.h.
Referenced by vpDot2::defineDots(), vpTemplateTrackerZone::getCenter(), vpTemplateTrackerTriangle::getCorners(), and vpPlanarObjectDetector::getDetectedCorners().
|
inline |
Sets the point coordinate corresponding to the axes in the frame (u,v).
v | : The desired value for the coordinate along the axes. |
Definition at line 223 of file vpImagePoint.h.
Referenced by vpKltOpencv::display(), vpCalibration::displayData(), vpFeatureDisplay::displayEllipse(), vpDisplay::displayRectangle(), vpRect::getBottomRight(), vpRect::getCenter(), vpDisplayWin32::getClick(), vpDisplayGTK::getClick(), vpDisplayX::getClick(), vpDisplayOpenCV::getClick(), vpDisplayWin32::getClickUp(), vpDisplayGTK::getClickUp(), vpDisplayX::getClickUp(), vpDisplayOpenCV::getClickUp(), vpDisplayWin32::getPointerMotionEvent(), vpDisplayGTK::getPointerMotionEvent(), vpDisplayX::getPointerMotionEvent(), vpDisplayOpenCV::getPointerMotionEvent(), vpDisplayWin32::getPointerPosition(), vpDisplayGTK::getPointerPosition(), vpDisplayX::getPointerPosition(), vpDisplayOpenCV::getPointerPosition(), vpRect::getTopLeft(), vpKeyPoint::matchPointAndDetect(), vpCalibration::readData(), vpDot2::searchDotsInArea(), and vpDot::track().
|
inlinestatic |
Compute the distance
iP1 | : First point |
iP2 | : Second point |
Definition at line 285 of file vpImagePoint.h.
References get_i(), get_j(), and vpMath::sqr().
Referenced by vpMeNurbs::localReSample(), and vpMeNurbs::sample().
|
friend |
Returns true if ip1 and ip2 are different; otherwire returns true.
Definition at line 154 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with coordinates multiplied by a scale factor.
Definition at line 311 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the sum of and .
Definition at line 175 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset added to the two coordinates.
Definition at line 208 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset added to the two coordinates.
Definition at line 231 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the sum of and .
Definition at line 185 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the difference between and .
Definition at line 242 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset substracted to the two coordinates.
Definition at line 265 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset substracted to the two coordinates.
Definition at line 288 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with coordinates divided by a scale factor.
Definition at line 334 of file vpImagePoint.cpp.
|
friend |
Writes the image point coordinates ip to the stream os, and returns a reference to the stream. Writes the first coordinate along the i axis and then the second one along the j axis. The coordinates are separated by a comma.
The following code
The previous sample code produces the output:
Image point with coordinates: 10, 11.1
Definition at line 370 of file vpImagePoint.cpp.
|
friend |
Returns true if ip1 and ip2 are equal; otherwire returns false.
Definition at line 132 of file vpImagePoint.cpp.