2 #include <visp3/gui/vpDisplayGDI.h>
3 #include <visp3/gui/vpDisplayOpenCV.h>
4 #include <visp3/gui/vpDisplayX.h>
5 #include <visp3/blob/vpDot2.h>
6 #include <visp3/io/vpImageIo.h>
7 #include <visp3/core/vpPixelMeterConversion.h>
8 #include <visp3/vision/vpPose.h>
10 void computePose(std::vector<vpPoint> &point,
const std::vector<vpDot2> &dot,
13 void computePose(std::vector<vpPoint> &point,
const std::vector<vpDot2> &dot,
16 vpPose pose;
double x=0, y=0;
17 for (
unsigned int i=0; i < point.size(); i ++) {
31 if (residual_dem < residual_lag)
45 #if defined(VISP_HAVE_X11)
47 #elif defined(VISP_HAVE_GDI)
49 #elif defined(VISP_HAVE_OPENCV)
54 std::vector<vpDot2> dot(4);
59 std::vector<vpPoint> point;
60 point.push_back(
vpPoint(-0.06, -0.06, 0) );
61 point.push_back(
vpPoint( 0.06, -0.06, 0) );
62 point.push_back(
vpPoint( 0.06, 0.06, 0) );
63 point.push_back(
vpPoint(-0.06, 0.06, 0) );
70 for (
unsigned int i=0; i < dot.size(); i ++) {
71 dot[i].setGraphics(
true);
74 computePose(point, dot, cam, init, cMo);
78 if (init) init =
false;
86 std::cout <<
"Catch an exception: " << e << std::endl;
VISP_EXPORT int wait(double t0, double t)
unsigned int getWidth() const
Implementation of an homogeneous matrix and operations on such kind of matrices.
Display for windows using GDI (available on any windows 32 platform).
Define the X11 console to display images.
static const vpColor none
error that can be emited by ViSP classes.
static void convertPoint(const vpCameraParameters &cam, const double &u, const double &v, double &x, double &y)
Point coordinates conversion from pixel coordinates to normalized coordinates in meter...
static void flush(const vpImage< unsigned char > &I)
Class that defines what is a point.
bool computePose(vpPoseMethodType methode, vpHomogeneousMatrix &cMo, bool(*func)(vpHomogeneousMatrix *)=NULL)
compute the pose for a given method
static void display(const vpImage< unsigned char > &I)
The vpDisplayOpenCV allows to display image using the opencv library.
Class used for pose computation from N points (pose from point only).
Generic class defining intrinsic camera parameters.
static void displayFrame(const vpImage< unsigned char > &I, const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam, double size, const vpColor &color=vpColor::none, unsigned int thickness=1, vpImagePoint offset=vpImagePoint(0, 0))
unsigned int getHeight() const
virtual bool getClick(bool blocking=true)=0
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
static void read(vpImage< unsigned char > &I, const char *filename)
void addPoint(const vpPoint &P)
Add a new point in this array.
double computeResidual(const vpHomogeneousMatrix &cMo) const
Compute and return the residual expressed in meter for the pose matrix 'cMo'.