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,
91 } vpCalibrationMethodType;
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);
147 int subsampling_factor = 1);
149 int subsampling_factor = 1);
152 static double getLambda() {
return gain; }
155 double getResidual(
void)
const {
return residual; }
157 double getResidual_dist(
void)
const {
return residual_dist; }
159 unsigned int get_npt()
const {
return npt; }
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;