53 #ifndef vpCalibration_h
54 #define vpCalibration_h
56 #include <visp/vpMatrix.h>
57 #include <visp/vpHomogeneousMatrix.h>
58 #include <visp/vpCameraParameters.h>
59 #include <visp/vpExponentialMap.h>
60 #include <visp/vpMath.h>
61 #include <visp/vpDisplay.h>
62 #include <visp/vpImage.h>
63 #include <visp/vpCalibrationException.h>
64 #include <visp/vpImagePoint.h>
65 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
66 # include <visp/vpList.h>
90 } vpCalibrationMethodType ;
113 int addPoint(
double X,
double Y,
double Z,
vpImagePoint &ip) ;
133 static void calibrationTsai(std::vector<vpHomogeneousMatrix> &cMo,
134 std::vector<vpHomogeneousMatrix> & rMe,
137 void computeStdDeviation(
double &deviation,
double &deviation_dist);
138 int computeCalibration(vpCalibrationMethodType method,
141 bool verbose =
false) ;
142 static int computeCalibrationMulti(vpCalibrationMethodType method,
unsigned int nbPose,
145 bool verbose =
false) ;
147 static int computeCalibrationTsai(
unsigned int nbPose,
156 unsigned int thickness=1) ;
158 unsigned int thickness=1) ;
162 int readData(
const char *filename) ;
163 static int readGrid(
const char *filename,
unsigned int &n,
164 std::list<double> &oX, std::list<double> &oY, std::list<double> &oZ,
165 bool verbose =
false);
168 static void setLambda(
const double &lambda){gain = lambda;}
169 int writeData(
const char *filename) ;
171 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
175 vp_deprecated
static int readGrid(
const char *filename,
unsigned int &n,
177 bool verbose =
false);
186 bool verbose =
false) ;
187 static void calibVVSMulti(
unsigned int nbPose,
vpCalibration table_cal[] ,
191 bool verbose =
false) ;
192 static void calibVVSWithDistortionMulti(
unsigned int nbPose,
195 bool verbose =
false );
199 std::list<double> LoX, LoY, LoZ ;
200 std::list<vpImagePoint> Lip ;
203 double residual_dist ;
205 static double threshold;
206 static unsigned int nbIterMax;
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
Provide simple list management.
Class to define colors available for display functionnalities.
static double getLambda()
set the gain for the virtual visual servoing algorithm
Tools for perspective camera calibration.
vpHomogeneousMatrix cMo
(as a 3x4 matrix [R T])
static void setLambda(const double &lambda)
set the gain for the virtual visual servoing algorithm
Generic class defining intrinsic camera parameters.
vpHomogeneousMatrix eMc_dist
unsigned int get_npt() const
get the number of points
vpHomogeneousMatrix rMe
reference coordinates (manipulator base coordinates)
double getResidual_dist(void) const
get the residual for perspective projection with distortion (in pixels)
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
static const vpColor yellow
double getResidual(void) const
get the residual in pixels