Computer Vision

Assignment 1: Camera Geometric Calibration

Deadline: Sunday, 19/02/2017, at 23.00


  1. Setup your programming environment (pdf)
  2. Learn how to use OpenCV's geometric-camera calibration. For instance, read the OpenCV book (ch.7), read the OpenCV documentation or go directly to this tutorial.
  3. Implement the geometric-camera calibration using OpenCV functions (only for this calibration, you are allowed to use C/C++ code available in the internet). Print this image and use it for the checkerboard calibration with your webcam/camera.
  4. Calibrate your camera (geometrically) using the code.
  5. After calibration you will need the camera intrinsics (or cameraMatrix) and the camera extrinsics (or the rotation and translation values).
  6. Draw the world 3D axes (XYZ) with the origin at the center of the world coordinates, using the estimated camera parameters (for this problem and the problem below, you have to develop your own code). You can get bonus points for using the explicit implementation of the equation: K [R|t]. However, this can also be done by an OpenCV-function.
  7. Draw a cube which is located at the origin of the world coordinates. You can get bonus points for doing this real time using your webcam (we can provide webcams if necessary, ask Gleb!).
  8. In your code, write comments at the beginning of every function (about the purposes of the function). This is compulsory.
  9. Take 3 screen-snapshots (in .jpg) representing the most interesting results. The format of the screen-snapshot's name must be: name1_name2_[counter].jpg. Examples: surname1_surname2_1.jpg, surname1_surname2_2.jpg, surname1_surname2_3.jpg.

Examples of the output:


  1. Code (+ project files) but no libraries
  2. Three screen-snapshots (in a certain format mentioned in the instructions)
  3. Full names and student IDs
  4. Upload to submit: (max. 30MB)
  5. Deadline: Sunday, 19/02/2017, at 23.00
  6. If you found that your assignment partner did not work properly, notify Gleb.