ViSP
2.10.0
|
#include <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 |
vpImagePoint | projection (const vpHomography &aHb) |
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 93 of file vpImagePoint.h.
|
inline |
Default constructor that initialize the coordinates of the image point to zero.
Definition at line 100 of file vpImagePoint.h.
|
inline |
Default constructor that initialize the coordinates of the image thanks to the parameters and .
Definition at line 105 of file vpImagePoint.h.
|
inline |
Copy constructor.
Initialize the coordinates of the image point with ip.
ip | : An image point. |
Definition at line 113 of file vpImagePoint.h.
|
inlinevirtual |
Destructor.
Definition at line 115 of file vpImagePoint.h.
|
inlinestatic |
Compute the distance
iP1 | : First point |
iP2 | : Second point |
Definition at line 275 of file vpImagePoint.h.
References get_i(), get_j(), and vpMath::sqr().
Referenced by vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::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 195 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpNurbs::computeCurveDersPoint(), vpMeEllipse::display(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayArrow(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplayGTK::displayCross(), vpDisplay::displayEllipse(), vpDisplayX::displayImageROI(), vpDisplayOpenCV::displayImageROI(), vpDisplayGTK::displayImageROI(), vpKeyPoint::displayMatching(), vpMbtDistanceKltPoints::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), distance(), vpMbtPolygon::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(), 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 206 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpNurbs::computeCurveDersPoint(), vpPlanarObjectDetector::computeRoi(), vpMeEllipse::display(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayArrow(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplayGTK::displayCross(), vpDisplay::displayEllipse(), vpDisplayX::displayImageROI(), vpDisplayOpenCV::displayImageROI(), vpDisplayGTK::displayImageROI(), vpKeyPoint::displayMatching(), vpMbtDistanceKltPoints::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), distance(), vpMbtPolygon::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(), 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 253 of file vpImagePoint.h.
Referenced by vpPlanarObjectDetector::buildReference(), vpFernClassifier::buildReference(), vpCalibration::computeStdDeviation(), vpCalibration::computeStdDeviation_dist(), vpPixelMeterConversion::convertPointWithDistortion(), vpPixelMeterConversion::convertPointWithoutDistortion(), vpDot2::defineDots(), vpDisplayX::displayCharString(), vpDisplayOpenCV::displayCharString(), vpDisplayGTK::displayCharString(), vpDisplayX::displayCircle(), vpDisplayOpenCV::displayCircle(), vpDisplayGTK::displayCircle(), vpCalibration::displayData(), vpDisplayX::displayDotLine(), vpDisplayOpenCV::displayDotLine(), vpDisplayGTK::displayDotLine(), vpDisplayX::displayImageROI(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayLine(), vpDisplayOpenCV::displayLine(), vpDisplayGTK::displayLine(), vpDisplayX::displayPoint(), vpDisplayGTK::displayPoint(), vpDisplayX::displayRectangle(), vpDisplayOpenCV::displayRectangle(), vpDisplayGTK::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 264 of file vpImagePoint.h.
Referenced by vpPlanarObjectDetector::buildReference(), vpFernClassifier::buildReference(), vpCalibration::computeStdDeviation(), vpCalibration::computeStdDeviation_dist(), vpPixelMeterConversion::convertPointWithDistortion(), vpPixelMeterConversion::convertPointWithoutDistortion(), vpDot2::defineDots(), vpDisplayX::displayCharString(), vpDisplayOpenCV::displayCharString(), vpDisplayGTK::displayCharString(), vpDisplayX::displayCircle(), vpDisplayOpenCV::displayCircle(), vpDisplayGTK::displayCircle(), vpCalibration::displayData(), vpDisplayX::displayDotLine(), vpDisplayOpenCV::displayDotLine(), vpDisplayGTK::displayDotLine(), vpDisplayX::displayImageROI(), vpDisplayGTK::displayImageROI(), vpDisplayX::displayLine(), vpDisplayOpenCV::displayLine(), vpDisplayGTK::displayLine(), vpDisplayX::displayPoint(), vpDisplayGTK::displayPoint(), vpDisplayX::displayRectangle(), vpDisplayOpenCV::displayRectangle(), vpDisplayGTK::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 410 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 58 of file vpImagePoint.cpp.
References vpRect::getBottom(), vpRect::getLeft(), vpRect::getRight(), and vpRect::getTop().
Referenced by vpPlot::navigate().
|
inline |
Operator *=.
Definition at line 144 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 117 of file vpImagePoint.cpp.
|
inline |
Operator -=.
Definition at line 134 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 149 of file vpImagePoint.cpp.
|
inline |
Copy operator.
Definition at line 122 of file vpImagePoint.h.
vpImagePoint vpImagePoint::projection | ( | const vpHomography & | aHb | ) |
Project the current image point (in frame b) into the frame a using the homography aHb.
aHb | : Homography defining the relation between frame a and frame b. |
Definition at line 74 of file vpImagePoint.cpp.
|
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 159 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::computeCurvePoint(), vpBSpline::computeCurvePoint(), vpMeLine::computeRhoTheta(), vpMeLine::display(), vpMeEllipse::display(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayArrow(), vpDisplay::displayArrow(), vpDisplay::displayCharString(), vpDisplay::displayCircle(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplayGTK::displayCross(), vpDisplay::displayCross(), vpDisplay::displayDotLine(), vpDisplay::displayEllipse(), vpDisplay::displayLine(), vpDisplay::displayPoint(), vpMbtDistanceKltPoints::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), vpDisplay::displayText(), vpMeLine::getExtremities(), vpMeSite::getQueryList(), vpImage< unsigned char >::getValue(), vpImage< double >::getValue(), vpImage< vpRGBa >::getValue(), vpMeTracker::initTracking(), vpMeEllipse::initTracking(), vpMeLine::intersection(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), 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 181 of file vpImagePoint.h.
Referenced by vpKeyPoint::compute3DForPointsInPolygons(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::curveKnotIns(), 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 170 of file vpImagePoint.h.
Referenced by vpKeyPointSurf::buildReference(), vpFernClassifier::buildReference(), vpBSpline::computeCurveDers(), vpNurbs::computeCurveDersPoint(), vpNurbs::computeCurvePoint(), vpBSpline::computeCurvePoint(), vpMeLine::computeRhoTheta(), vpMeLine::display(), vpMeEllipse::display(), vpDisplayX::displayArrow(), vpDisplayOpenCV::displayArrow(), vpDisplayGTK::displayArrow(), vpDisplay::displayArrow(), vpDisplay::displayCharString(), vpDisplay::displayCircle(), vpDisplayX::displayCross(), vpDisplayOpenCV::displayCross(), vpDisplayGTK::displayCross(), vpDisplay::displayCross(), vpDisplay::displayDotLine(), vpDisplay::displayEllipse(), vpDisplay::displayLine(), vpDisplay::displayPoint(), vpMbtDistanceKltPoints::displayPrimitive(), vpDisplayWin32::displayRectangle(), vpDisplay::displayRectangle(), vpDisplay::displayText(), vpMeLine::getExtremities(), vpMeSite::getQueryList(), vpImage< unsigned char >::getValue(), vpImage< double >::getValue(), vpImage< vpRGBa >::getValue(), vpMeTracker::initTracking(), vpMeEllipse::initTracking(), vpMeLine::intersection(), vpPolygon::isInside(), vpPlanarObjectDetector::matchPoint(), vpKeyPointSurf::matchPoint(), vpFernClassifier::matchPoint(), 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 217 of file vpImagePoint.h.
Referenced by vpKltOpencv::display(), vpCalibration::displayData(), vpFeatureDisplay::displayEllipse(), vpCalibration::displayGrid(), vpDisplay::displayRectangle(), vpRect::getBottomRight(), vpRect::getCenter(), vpDisplayWin32::getClick(), vpDisplayX::getClick(), vpDisplayOpenCV::getClick(), vpDisplayGTK::getClick(), vpDisplayWin32::getClickUp(), vpDisplayX::getClickUp(), vpDisplayOpenCV::getClickUp(), vpDisplayGTK::getClickUp(), vpDisplayWin32::getPointerMotionEvent(), vpDisplayX::getPointerMotionEvent(), vpDisplayGTK::getPointerMotionEvent(), vpDisplayOpenCV::getPointerMotionEvent(), vpDisplayWin32::getPointerPosition(), vpDisplayX::getPointerPosition(), vpDisplayGTK::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 239 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 228 of file vpImagePoint.h.
Referenced by vpKltOpencv::display(), vpCalibration::displayData(), vpFeatureDisplay::displayEllipse(), vpDisplay::displayRectangle(), vpRect::getBottomRight(), vpRect::getCenter(), vpDisplayWin32::getClick(), vpDisplayX::getClick(), vpDisplayOpenCV::getClick(), vpDisplayGTK::getClick(), vpDisplayWin32::getClickUp(), vpDisplayX::getClickUp(), vpDisplayOpenCV::getClickUp(), vpDisplayGTK::getClickUp(), vpDisplayWin32::getPointerMotionEvent(), vpDisplayX::getPointerMotionEvent(), vpDisplayGTK::getPointerMotionEvent(), vpDisplayOpenCV::getPointerMotionEvent(), vpDisplayWin32::getPointerPosition(), vpDisplayX::getPointerPosition(), vpDisplayGTK::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 290 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 183 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with coordinates multiplied by a scale factor.
Definition at line 340 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the sum of and .
Definition at line 204 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset added to the two coordinates.
Definition at line 237 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset added to the two coordinates.
Definition at line 260 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the sum of and .
Definition at line 214 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint wich is the difference between and .
Definition at line 271 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset substracted to the two coordinates.
Definition at line 294 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with an offset substracted to the two coordinates.
Definition at line 317 of file vpImagePoint.cpp.
|
friend |
Returns a vpImagePoint with coordinates divided by a scale factor.
Definition at line 363 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 399 of file vpImagePoint.cpp.
|
friend |
Returns true if ip1 and ip2 are equal; otherwire returns false.
Definition at line 161 of file vpImagePoint.cpp.