38 #ifndef VP_CALIBRATION_H
39 #define VP_CALIBRATION_H
43 #include <visp3/core/vpCameraParameters.h>
44 #include <visp3/core/vpDisplay.h>
45 #include <visp3/core/vpExponentialMap.h>
46 #include <visp3/core/vpHomogeneousMatrix.h>
47 #include <visp3/core/vpImage.h>
48 #include <visp3/core/vpImagePoint.h>
49 #include <visp3/core/vpMath.h>
50 #include <visp3/core/vpMatrix.h>
51 #include <visp3/vision/vpCalibrationException.h>
76 CALIB_VIRTUAL_VS_DIST,
78 CALIB_LAGRANGE_VIRTUAL_VS,
81 CALIB_LAGRANGE_VIRTUAL_VS_DIST,
84 } vpCalibrationMethodType;
142 int addPoint(
double X,
double Y,
double Z,
vpImagePoint &ip);
168 bool verbose =
false);
195 void computeStdDeviation(
double &deviation,
double &deviation_dist);
229 int subsampling_factor = 1);
242 int subsampling_factor = 1);
260 unsigned int get_npt()
const {
return m_npt; }
273 int readData(
const std::string &filename);
290 static int readGrid(
const std::string &filename,
unsigned int &n, std::list<double> &oX, std::list<double> &oY,
291 std::list<double> &oZ,
bool verbose =
false);
296 static void setLambda(
const double &lambda) { m_gain = lambda; }
304 void setAspectRatio(
double aspect_ratio);
313 int writeData(
const std::string &filename);
323 bool verbose =
false,
double aspect_ratio = -1);
324 static void calibVVSMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
325 double &globalReprojectionError,
bool verbose =
false,
double aspect_ratio = -1);
328 bool verbose =
false,
double aspect_ratio = -1);
329 static void calibVVSWithDistortionMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
330 double &globalReprojectionError,
bool verbose =
false,
331 double aspect_ratio = -1);
334 std::list<double> m_LoX, m_LoY, m_LoZ;
335 std::list<vpImagePoint> m_Lip;
338 double m_residual_dist;
341 static double m_threshold;
342 static unsigned int m_nbIterMax;
343 static double m_gain;
Tools for perspective camera intrinsic parameters calibration.
static void setLambda(const double &lambda)
static double getLambda()
Get the gain of the virtual visual servoing algorithm.
unsigned int get_npt() const
double getResidual(void) const
vpHomogeneousMatrix eMc_dist
vpCameraParameters cam_dist
double getResidual_dist(void) const
vpHomogeneousMatrix cMo_dist
Generic class defining intrinsic camera parameters.
Class to define RGB colors available for display functionalities.
static const vpColor yellow
Implementation of an homogeneous matrix and operations on such kind of matrices.
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...