❄ The most accurate and latest version of the algorithms and documentations are located in branch M-CAIT-2013
. Click here to visit the branch.
Text copied from OpenCV documentation
The important input data needed for calibration of the camera is the set of 3D real world points and the corresponding 2D coordinates of these points in the image.
-
2D image points are OK which we can easily find from the image. These image points are locations where two black squares touch each other in chess boards.
-
What about the 3D points from real world space? Those images are taken from a static camera and chess boards are placed at different locations and orientations. So we need to know (X,Y,Z) values. But for simplicity, we can say chess board was kept stationary at XY plane, (so Z=0 always) and camera was moved accordingly. This consideration helps us to find only X,Y values. Now for X,Y values, we can simply pass the points as (0,0), (1,0), (2,0), ... which denotes the location of points. In this case, the results we get will be in the scale of size of chess board square. But if we know the square size, (say 30 mm), we can pass the values as (0,0), (30,0), (60,0), ... . Thus, we get the results in mm. (In this case, we don't know square size since we didn't take those images, so we pass in terms of square size).
3D points are called object points and 2D image points are called image points.
- Image size: 640 x 480 pixels
- Camera: Logitech C310 HD Webcam, 720p Video
- Square Size of Checkerboard: 30 mm (useful in camera calibration)
- Lens and Sensor Type: Plastic, CMOS
- Focus Type: Fixed
- Field of View (FOV): 60°
- Focal Length: 4.4mm (useful in 2D to 3D coordinate transformation)