ViSP  2.8.0
tutorial-undistort.cpp
1 
2 #include <visp/vpImageIo.h>
3 #include <visp/vpImageTools.h>
4 #include <visp/vpXmlParserCamera.h>
5 
6 int main()
7 {
9  vpImageIo::read(I, "chessboard.pgm");
10 
12 #ifdef VISP_HAVE_XML2
16  if (p.parse(cam, "camera.xml", "Camera", projModel, I.getWidth(), I.getHeight()) != vpXmlParserCamera::SEQUENCE_OK) {
17  std::cout << "Cannot found parameters for camera named \"Camera\"" << std::endl;
18  }
19 #else
20  cam.initPersProjWithDistortion(582.7, 580.6, 326.6, 215.0, -0.3372, 0.4021);
21 #endif
22 
23  std::cout << cam << std::endl;
24 
26  vpImageTools::undistort(I, cam, Iud);
27  vpImageIo::write(Iud, "chessboard-undistort.pgm");
28 
29  return 0;
30 }
static void write(const vpImage< unsigned char > &I, const char *filename)
Definition: vpImageIo.cpp:442
unsigned int getWidth() const
Definition: vpImage.h:159
XML parser to load and save intrinsic camera parameters.
Generic class defining intrinsic camera parameters.
static void undistort(const vpImage< Type > &I, const vpCameraParameters &cam, vpImage< Type > &newI)
Definition: vpImageTools.h:358
Perspective projection with distortion model.
int parse(vpCameraParameters &cam, const char *filename, const std::string &camera_name, const vpCameraParameters::vpCameraParametersProjType &projModel, const unsigned int image_width=0, const unsigned int image_height=0)
unsigned int getHeight() const
Definition: vpImage.h:150
static void read(vpImage< unsigned char > &I, const char *filename)
Definition: vpImageIo.cpp:277
void initPersProjWithDistortion(const double px, const double py, const double u0, const double v0, const double kud, const double kdu)