49 #ifndef vpCalibration_h 50 #define vpCalibration_h 54 #include <visp3/core/vpCameraParameters.h> 55 #include <visp3/core/vpDisplay.h> 56 #include <visp3/core/vpExponentialMap.h> 57 #include <visp3/core/vpHomogeneousMatrix.h> 58 #include <visp3/core/vpImage.h> 59 #include <visp3/core/vpImagePoint.h> 60 #include <visp3/core/vpMath.h> 61 #include <visp3/core/vpMatrix.h> 62 #include <visp3/vision/vpCalibrationException.h> 83 CALIB_VIRTUAL_VS_DIST,
85 CALIB_LAGRANGE_VIRTUAL_VS,
88 CALIB_LAGRANGE_VIRTUAL_VS_DIST,
117 int addPoint(
double X,
double Y,
double Z,
vpImagePoint &ip);
122 #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS) 127 vp_deprecated
static void calibrationTsai(
const std::vector<vpHomogeneousMatrix> &cMo,
128 const std::vector<vpHomogeneousMatrix> &rMe,
130 vp_deprecated
static int computeCalibrationTsai(
const std::vector<vpCalibration> &table_cal,
vpHomogeneousMatrix &eMc,
138 void computeStdDeviation(
double &deviation,
double &deviation_dist);
140 bool verbose =
false);
141 static int computeCalibrationMulti(vpCalibrationMethodType method, std::vector<vpCalibration> &table_cal,
147 int subsampling_factor = 1);
149 int subsampling_factor = 1);
163 int readData(
const char *filename);
164 static int readGrid(
const char *filename,
unsigned int &n, std::list<double> &oX, std::list<double> &oY,
165 std::list<double> &oZ,
bool verbose =
false);
168 static void setLambda(
const double &lambda) { gain = lambda; }
169 int writeData(
const char *filename);
179 bool verbose =
false);
180 static void calibVVSMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
181 double &globalReprojectionError,
bool verbose =
false);
184 bool verbose =
false);
185 static void calibVVSWithDistortionMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
186 double &globalReprojectionError,
bool verbose =
false);
190 std::list<double> LoX, LoY,
192 std::list<vpImagePoint> Lip;
195 double residual_dist;
198 static double threshold;
199 static unsigned int nbIterMax;
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class to define RGB 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
Position of the camera in end-effector frame using camera parameters with distorsion.
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