VisLib

From MobileRobots Research and Academic Customer Support

Revision as of 17:59, 23 March 2010 by ReedHedges (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

VisLib is a C library for Linux for image acquisition and processing, written by Terry Fong and S. Grange from the Virtual Reality and Active Interfaces Group, of the Swiss Federal Institute of Technology. It is a fast and simple library for image processing and single-camera machine vision. With VisLib, you can quickly create motion detection and object tracking applications.

VisLib contains functions for:

  • image format, acquisition and display
  • 2D image processing
  • object tracking

The image acquisition and display functions are hardware specific. The current version of VisLib is designed for Linux and will work with any framegrabber supported by the Linux Bt8xx driver and any X11 server which provides a TrueColor visual (8-24 bit).

The image processing functions are generic convolution (2D kernel), filtering and morpholgical tools. These tools have been extensively optimized for speed and extensively tested.

The object tracking functions are designed for single-camera, color-based tracking. To begin, an object is defined by specifiying 2-D shape and color parameters. Then, while the object is being tracked, update functions are used to continually redefine these parameters. That way, adaptation to shape, color and orientation changes are straightforward.

The tools provided here allow several parameters (features) for object definition including normalized color blob, hue/saturation blob and shape (edge map). Objects are initially defined by pixel region growing with simple boundary conditions (e.g., until a maximum change in the specified parameter from the starting pixel value). Other routines deal with object shape update, color update, and object redefinition. The localization of the object in each frame is done using correlation of the binary shape of the object within a tracking window that has been filtered with the object's normalized colors threshold.

Download

Requirements

VisLib should work with any version of Linux with kernel 2.0.35 (or later). However, we highly recommend that you use RedHat 6.0 or later. In addition, VisLib requires the following:

  • Bt8xx driver ("bt848-1.0" or later) (Now known as Video4Linux or v4l.)
  • a color camera, available from ActivMedia, Inc.

Although VisLib will operate with an 8-bit TrueColor visual (use "xdpyinfo" to see available visuals from our X server), the display will mostly likely be less than pleasing. Thus, we highly recommend using either a 16 bit or 24 bit visual. Most XFree86 servers support 16 or 24 bits (though perhaps at lower screen resolution depending on the amount of video RAM in your system). To start XFree86 at 16 bits:

 % startx -- -bpp 16
Personal tools