Computer Laboratory

Computer Vision (Lent 2018)

Please hand in your work by 17:00 (5pm) on the day before the supervision!

Links

Course website
Past exam papers


Supervision 1

The supervision work for this course consists of a mixture of written and practical exercises.

Written questions

Please attempt questions 1 to 7 from the exercise sheet.

Practical exercise - Convolution

For the pratcical exercises you will use OpenCV in C++. Sometimes it can be a bit painful to set-up OpenCV, so you will use a skeleton project that is already set up and ready to use

  • Download the skeleton project has been prepared for you. For the project in Windows all dependecies are included. For Linux download the stripped-down version.
  • There are instructions in the readme file that should help you get started. Visual Studio is the preferred IDE, but there are numerous alternatives (VS Code, CMake)
  • Once you can build and run, take a look at Supervision1.cpp and complete the TODOs. There are detailed instructions in the code to implement convolution using three different methods:
    1. netested for loops
    2. Fourier transform
    3. cv::filter2D

You might find that OpenCV's online documentation under docs.opencv.org can be extremely helpful. Searching is somewhat clumsy, but you can always Google your function name (e.g. cv::filter2D)


Supervision 2

Written questions

Please attempt questions 8 to 15 from the exercise sheet.

Practical exercise - Edge detection

Complete the TODOs in Supervision2.cpp. Again, there should be sufficient information included in the source code to walk you through four edge-detection related problems

  1. Gradient magnitude for edge detection
  2. Laplacian and Gaussian for detecting edges of different scales
  3. Using the Canny edge detector
  4. Gabor wavelets

Again, you might find that OpenCV's online documentation under docs.opencv.org can be extremely helpful.