42#ifndef vpCalibration_h
43#define vpCalibration_h
47#include <visp3/core/vpCameraParameters.h>
48#include <visp3/core/vpDisplay.h>
49#include <visp3/core/vpExponentialMap.h>
50#include <visp3/core/vpHomogeneousMatrix.h>
51#include <visp3/core/vpImage.h>
52#include <visp3/core/vpImagePoint.h>
53#include <visp3/core/vpMath.h>
54#include <visp3/core/vpMatrix.h>
55#include <visp3/vision/vpCalibrationException.h>
84 } vpCalibrationMethodType;
151#if defined(VISP_BUILD_DEPRECATED_FUNCTIONS)
156 vp_deprecated static void calibrationTsai(const std::vector<vpHomogeneousMatrix> &cMo,
180 bool verbose =
false);
241 int subsampling_factor = 1);
254 int subsampling_factor = 1);
285 int readData(
const std::string &filename);
302 static int readGrid(
const std::string &filename,
unsigned int &n, std::list<double> &oX, std::list<double> &oY,
303 std::list<double> &oZ,
bool verbose =
false);
308 static void setLambda(
const double &lambda) { gain = lambda; }
316 void setAspectRatio(
double aspect_ratio);
325 int writeData(
const std::string &filename);
335 bool verbose =
false,
double aspect_ratio = -1);
336 static void calibVVSMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
337 double &globalReprojectionError,
bool verbose =
false,
double aspect_ratio = -1);
340 bool verbose =
false,
double aspect_ratio = -1);
341 static void calibVVSWithDistortionMulti(std::vector<vpCalibration> &table_cal,
vpCameraParameters &cam,
342 double &globalReprojectionError,
bool verbose =
false,
343 double aspect_ratio = -1);
347 std::list<double> LoX, LoY,
349 std::list<vpImagePoint> Lip;
352 double residual_dist;
355 static double threshold;
356 static unsigned int nbIterMax;
Tools for perspective camera 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()
Set the gain for 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)
static vp_deprecated int computeCalibrationTsai(const std::vector< vpCalibration > &table_cal, vpHomogeneousMatrix &eMc, vpHomogeneousMatrix &eMc_dist)
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.