Multimedia Computing and Computer Vision Lab












Student Theses


Source Code / Datasets




WS 13/14: Seminar: Multimediale Datenverarbeitung

From Multimedia Computing Lab - University of Augsburg

Please sign up on the DigiCampus page for this course.

Edge detection


Course Title: Seminar: Multimedia Computing (B.S.), Bachelor
Advisors: Prof. Dr. Rainer Lienhart, Christian Eggert
Kick-off event: Thursday, 24. Okt. 2013, 10:00 - 11:30, Room 1021 N
Papers due: Monday, 31. Mar. 2014
Credits: 2 SWS, 4 LP
Examination: Term paper (approx. 10 pages) and presentation (25 minutes + 5-10 minutes discussion). Attendance during the presentation of the other students is required.
Language: German, English
Max. participants 14
Summary: In this seminar we will get to know the OpenCV library in order to explore several topics from the areas of image processing and machine learning. Basic programming knowledge in C++ or Python is required.


Date Lecturer Topic Material
24.10.2013 Christian Eggert Introduction / Topic presentation

Examination details

  • Presentation: approx. 25 minutes with 5-10 minutes of discussion
  • Term paper: approx: 10 pages
  • Attendance during the presentations
  • Grading: 60% Paper, 40% Presentation
  • Not required (but highly appreciated): Small program demo

Additional info and materials

  • Presentations and term paper either in German or English
  • OpenCV Documentation and Tutorials
  • You might also want to take a look at the sample applications that come with OpenCV


The following topics are available. The topics will be assigned during the kick-off meeting.

Overview over OpenCV

  • Module overview
  • Installation, build (CMake, Settings, 3rd party library options, etc.)
  • Basic design concepts (Namespaces, Memory Management)
  • I/O: Loading and Writing of Images/Videos, Video Capture
  • HighGUI: Display images, Drawing functions
  • ...

Basic data structures

  • Basic datatypes: Mat, Mat_<T>, Size, Scalar, …
  • Matrix operations
  • Supported image types / data layout
  • Accessing and iterating over matrix elements
  • Serialization
  • ...

GPU acceleration

  • Advantages / Disadvantages
  • Supported Architectures
  • Data structures in OpenCV
  • Speed comparisons

Image processing

  • Convolution
  • Smoothing: Box-/Median-/Gaussfilter
  • Gradients: Sobel, Scharr, Laplace
  • Morphology operations: Dilatation and Erosion
  • Canny edge detection algorithm


  • What is clustering?
  • Potential applications?
  • Algorithm: K-Means
  • Integration into OpenCV
  • Extensions
  • Strengths and weaknesses

Local image features

  • What are local image features?
  • Desired attributes of local features
  • Potential applications
  • Special focus on SIFT-Features
  • Integration into OpenCV

Feature matching

  • Potential applications?
  • Nearest neighbor search
  • Homographies
  • Outlier removal with RANSAC
  • OpenCV Integration

Face detection with Cascade Classifiers

  • Cascade classifiers
  • Haar-like features
  • Integral images
  • Training, Boosting
  • OpenCV Support

Face recognition with Eigenfaces

  • Problem description
  • Different approaches
  • Principal Component Analysis
  • Special focus on Eigenfaces
  • OpenCV Support

Letter recognition with Random Forests

  • Random Trees: Idea
  • Support in OpenCV
  • Special focus on the OpenCV Letter Recognition Sample Application
  • Description of the dataset

Support Vector Machines

  • Basic idea
  • Variants
  • Support Vector Machines
  • Application examples
  • OpenCV Implementation

Object detection

Camera Calibration

  • Why/When is camera calibration necessary?
  • Camera model
  • Rectification
  • Warping

Image Stitching

  • Which image features can be used?
  • Homography estimation
  • Blending
  • Exposure Compensation


Date Action
29. Aug 2013 Page creation