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>
84 } vpCalibrationMethodType;
170 bool verbose =
false);
231 int subsampling_factor = 1);
244 int subsampling_factor = 1);
262 unsigned int get_npt()
const {
return m_npt; }
275 int readData(
const std::string &filename);
292 static int readGrid(
const std::string &filename,
unsigned int &n, std::list<double> &oX, std::list<double> &oY,
293 std::list<double> &oZ,
bool verbose =
false);
298 static void setLambda(
const double &lambda) { m_gain = lambda; }
306 void setAspectRatio(
double aspect_ratio);
315 int writeData(
const std::string &filename);
325 bool verbose =
false,
double aspect_ratio = -1);
326 static void calibVVSMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
327 double &globalReprojectionError,
bool verbose =
false,
double aspect_ratio = -1);
330 bool verbose =
false,
double aspect_ratio = -1);
331 static void calibVVSWithDistortionMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
332 double &globalReprojectionError,
bool verbose =
false,
333 double aspect_ratio = -1);
336 std::list<double> m_LoX, m_LoY, m_LoZ;
337 std::list<vpImagePoint> m_Lip;
340 double m_residual_dist;
343 static double m_threshold;
344 static unsigned int m_nbIterMax;
345 static double m_gain;
Tools for perspective camera intrinsic parameters calibration.
void computeStdDeviation(double &deviation, double &deviation_dist)
static void setLambda(const double &lambda)
int displayData(vpImage< unsigned char > &I, vpColor color=vpColor::red, unsigned int thickness=1, int subsampling_factor=1)
static double getLambda()
Get the gain of the virtual visual servoing algorithm.
unsigned int get_npt() const
int computeCalibration(vpCalibrationMethodType method, vpHomogeneousMatrix &cMo_est, vpCameraParameters &cam_est, bool verbose=false)
double getResidual(void) const
int addPoint(double X, double Y, double Z, vpImagePoint &ip)
vpHomogeneousMatrix eMc_dist
vpCalibration & operator=(const vpCalibration &twinCalibration)
double computeStdDeviation_dist(const vpHomogeneousMatrix &cMo_est, const vpCameraParameters &camera)
static int computeCalibrationMulti(vpCalibrationMethodType method, std::vector< vpCalibration > &table_cal, vpCameraParameters &cam_est, double &globalReprojectionError, bool verbose=false)
vpCameraParameters cam_dist
double getResidual_dist(void) const
vpHomogeneousMatrix cMo_dist
int displayGrid(vpImage< unsigned char > &I, vpColor color=vpColor::yellow, unsigned int thickness=1, int subsampling_factor=1)
@ CALIB_LAGRANGE_VIRTUAL_VS
@ CALIB_LAGRANGE_VIRTUAL_VS_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 ...
Definition of the vpImage class member functions.