Visual Servoing Platform  version 3.4.0
tutorial-undistort.cpp
1 #include <visp3/core/vpImageTools.h>
3 #include <visp3/core/vpXmlParserCamera.h>
4 #include <visp3/io/vpImageIo.h>
5 
6 int main()
7 {
8  try {
11  vpImageIo::read(I, "chessboard.jpg");
13 
19  if (p.parse(cam, "camera.xml", "Camera", projModel, I.getWidth(), I.getHeight()) !=
21  std::cout << "Cannot found parameters for camera named \"Camera\"" << std::endl;
22  }
25 #if 0
26  cam.initPersProjWithDistortion(582.7, 580.6, 326.6, 215.0, -0.3372, 0.4021);
27 #endif
28 
30  std::cout << cam << std::endl;
31 
34  vpImageTools::undistort(I, cam, Iud);
35  vpImageIo::write(Iud, "chessboard-undistort.jpg");
37  } catch (const vpException &e) {
38  std::cout << "Catch an exception: " << e << std::endl;
39  }
40 
41  return 0;
42 }
unsigned int getWidth() const
Definition: vpImage.h:246
error that can be emited by ViSP classes.
Definition: vpException.h:71
XML parser to load and save intrinsic camera parameters.
void initPersProjWithDistortion(double px, double py, double u0, double v0, double kud, double kdu)
static void write(const vpImage< unsigned char > &I, const std::string &filename)
Definition: vpImageIo.cpp:445
Generic class defining intrinsic camera parameters.
int parse(vpCameraParameters &cam, const std::string &filename, const std::string &camera_name, const vpCameraParameters::vpCameraParametersProjType &projModel, unsigned int image_width=0, unsigned int image_height=0)
static void undistort(const vpImage< Type > &I, const vpCameraParameters &cam, vpImage< Type > &newI, unsigned int nThreads=2)
Definition: vpImageTools.h:645
static void read(vpImage< unsigned char > &I, const std::string &filename)
Definition: vpImageIo.cpp:244
unsigned int getHeight() const
Definition: vpImage.h:188