ITK meets OpenCV at CVPR 2011

At the recent CVPR 2011 conference, Kitware presented a half-day (4-hour) tutorial on the combined use of ITK and OpenCV, prepared and delivered by:

  • Luis Ibanez,
  • Patrick Reynolds,
  • Matt Leotta,
  • Gabe Hart, and
  • Amitha Perera.

There were two main goals of the tutorial: to introduce ITK to the computer vision community and to provide a hands-on training on using ITK, especially in conjunction with other packages such as OpenCV. We also presented some of the recent work to directly support video in ITK, which was developed under funding from the US National Library of Medicine as part of the current effort for improving and extending ITK.

The tutorial combined short lecture sessions from the ITK overview with hands-on exercises for the training.

For the hands-on part, we wanted to minimize the issues related to multiple system configurations. We prepared pre-configured Virtual Machines based on VirtualBox and distributed these to attendees in the form of a DVD or a USB memory stick.

At the beginning of the tutorial, each attendee installed VirtualBox and proceeded to import the Virtual Machine from the DVD or USB media. They booted the VM and got a quick crash course on basic Linux commands and navigation of the interface.

The virtual machines contained an installation of Ubuntu 11, and included the source code of ITKv4, OpenCV 2.2, and the ITK Video bridge. Binary builds of each one of these tools were also included in the VM. In this way, every attendee had access to an identical computer where the full software suite was installed in a consistent way.

There were four main parts to the tutorial. In the first part, Luis Ibanez introduced ITK to the Computer Vision community. In particular, he discussed the history of the project, the environment of the developer community, and the main image analysis, segmentation and registration functionalities of the toolkit. The introduction concluded with hands-on exercises using ITK.

The second part included an introduction to OpenCV 2.2, delivered by Matt Leotta. Matt described some of the new C++ classes available in Open CV, and walked the audience through some hands-on demonstrations.

Next, building upon the ITK and OpenCV introductions, Gabe Hart and Patrick Reynolds introduced the ITKv4 Video Bridge that makes it now possible to interconnect ITK images into OpenCV ones. This data structure conversion works in both directions, making it possible to send image data back and forth between ITK and OpenCV.

Finally, the new Video Filters in ITKv4 were presented by Gabe Hart and Patrick Reynolds. They illustrated how to load a video stream and how to use the new ITK video filter classes to process every frame of the video through an ITK image filter.

The tutorial was culminated by a raffle of a ASUS EEE Pad Transformer tablet. The raffle was based on consistency of attendance: we distributed raffle tickets periodically during the tutorial, so that the longer you were present, the more likely you were to win. We also awarded extra tickets to those that asked good questions.

Some pictures of the presenters:

And a very blurry picture of the happy winner, Mostafa Abdelrahman, and picture of the prize:

All the materials of the Tutorial are freely available under the Creative Commons by Attribution License at

Links to these resources and more are available at

Questions or comments are always welcome!