GSoC/GCI Archive
Google Summer of Code 2012

Open Source Computer Vision Library (OpenCV)

Web Page:

Mailing List:

The Open Source Computer Vision Library (OpenCV) is a comprehensive computer vision library and machine learning (over 2500 functions) written in C++ and C with additional Python and Java interfaces. It officially supports Linux, Mac OS, Windows, Android and iOS. OpenCV has specific optimizations for SSE instructions, CUDA and especially Tegra. There is an active user group of 50 thousand members and download are approaching 5M. OpenCV has uses from gesture recognition, anti-drowning alarms in swimming pools, Android and iPhone vision apps on up to medical, robotics, mine safety and Google Streetview.

Documentation at:


Developer site at:


User site at:


User group:



  • Density Estimation, Mode finding through samples and kernels Importance sampling, Markov chain monte carlo, Mean shift
  • Hand tracking with Kinect The project aimed to create a prototype library for Kinect hand tracking as a part of Open Source Computer Vision Library(OpenCV). Kinect is a novel camera device, combining normal stereo camera with IR camera to acquire depth information. Depth information provided by the camera can significantly simplify tracking tasks. In general, 3D cameras have become available to broad public only recently, and therefore there is a great need in relevant software and algorithms to make use of all advantages it brings.
  • Mobile App Development I have a solid background in Computer Vision and Image processing. Also, I have worked on Windows 7 phone development, and iOS development. I am really interested in working for this project
  • Mobile Vision App Development Lately, mobile devices with cameras have become very powerful. Interesting applications of Computer Vision, Augmented Reality and Graphics become increasingly feasible. Examples include Image Stitching, Simultaneous Localization and Mapping, Barcode Scanning, Marker-based or Marker-less Tracking, Optical Character Recognition and Super Resolution. I would like to help out creating examples for the benefit of the community with my skills in iPhone programming. Also I want to learn about Android.
  • OpenCV. Computational photography(super-resolution) I'm last year student of Saint-Petersburg State University.I have some experience working with C++ and nice algorithmic background. My current diploma main theme is nowadays superresolution algorithms. All this can be useful for OpenCV.
  • Python examples for OpenCV Extend a set of OpenCV Python interface usage examples. Extend python binding's functionality. Fix discovered bugs.
  • SfM: adapt libmv for OpenCV libmv is a Structure from Motion (SfM) library, which plans to one day take raw video footage or photographs, and produce full camera calibration information and dense 3D models. libmv is cut in different modules (image/detector/descriptor/multiview) that allow to resolve part of the SfM process. The functionalities of most of these modules can be found in OpenCV and, after rewriting these parts, libmv can be part of OpenCV. Therefore, the project is to adapt libmv for OpenCV.
  • Structure from Motion (SfM) - help adapt libmv for OpenCV In line with the provided list of OpenCV priorities for this year, I wish to help adapt libmv for OpenCV, to integrate structure from motion functionality into OpenCV.
  • Train Classifiers I want to work on OpenCV’s “Training classifiers” project. You may ask: why are classifiers so important? In real life situation, there can be many objects we want to detect or even track. A good solution would be to use Haar classifiers. The benefits of Haar training: Haar properties grant me real-time performance; Haar mixed with AdaBoost (Adaptive Boosting) gives precision and speed; the algorithm is a generic object detection method.
  • Viktor Passichenko, Computational photography(image denoising) I'm a last grade student in Saint-Petersburg State University. I have some knowledge and experience in super-resolution that can use in OpenCV project. Also it relates to my diploma work.