44 #include <visp/vpConfig.h>
45 #include <visp/vpImagePoint.h>
46 #include <visp/vpRect.h>
47 #include <visp/vpHomography.h>
61 this->i >= rect.
getTop() &&
78 double i_a = aHb[0][0] * i + aHb[0][1] * j + aHb[0][2];
79 double j_a = aHb[1][0] * i + aHb[1][1] * j + aHb[1][2];
80 double k_a = aHb[2][0] * i + aHb[2][1] * j + aHb[2][2];
82 if(std::fabs(k_a) > std::numeric_limits<double>::epsilon()){
164 double i1 = ip1.
get_i();
165 double j1 = ip1.
get_j();
166 double i2 = ip2.
get_i();
167 double j2 = ip2.
get_j();
170 ( std::fabs(i1-i2) <= std::fabs(
vpMath::maximum(i1, i2))*std::numeric_limits<double>::epsilon() )
172 ( std::fabs(j1-j2) <= std::fabs(
vpMath::maximum(j1, j2))*std::numeric_limits<double>::epsilon() )
185 double i1 = ip1.
get_i();
186 double j1 = ip1.
get_j();
187 double i2 = ip2.
get_i();
188 double j2 = ip2.
get_j();
191 ( std::fabs(i1-i2) > std::fabs(
vpMath::maximum(i1, i2))*std::numeric_limits<double>::epsilon() )
193 ( std::fabs(j1-j2) > std::fabs(
vpMath::maximum(j1, j2))*std::numeric_limits<double>::epsilon() )
399 VISP_EXPORT std::ostream& operator<< (std::ostream &os,
const vpImagePoint& ip)
bool inRectangle(const vpRect &rect) const
vpImagePoint & operator+=(const vpImagePoint &ip)
vpColVector operator*(const double &x, const vpColVector &B)
multiplication by a scalar Ci = x*Bi
static Type maximum(const Type &a, const Type &b)
This class aims to compute the homography wrt.two images.
void set_i(const double ii)
void set_j(const double jj)
vpImagePoint projection(const vpHomography &aHb)
Defines a rectangle in the plane.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
vpImagePoint & operator/=(const double scale)