David Foster


ImageFilterDemo is a program that allows rapid prototyping of vision algorithms and other image filters in Java. This program was developed to assist me in developing new vision algorithms such as barrel detection for RoboJackets IGVC. This codebase (including the built-in filters) consists of about 6,500 lines of code.


This program can be downloaded from the ImageFilterDemo page on the RoboJackets IGVC wiki.


This program supports:
  • user-defined image filters through a plugin architechure
  • image filter parameters that can be edited at runtime
  • processing sequences of images (i.e. movies) in real-time
An identified orange & white construction barrel
A barrel and its bounding box, as identified by my barrel finding algorithm.
Gray level histogram with Otsu threshold indicated
Gray level histogram with its optimal Otsu thresholding level indicated.

Built-In Filters

Non-trivial built-in image filters that I wrote for this program include:
  • BarrelBlobFinder - an orange & white construction barrel finder
  • GrayscaleLevelHistogram - draws a histogram of the gray levels in an image and calculates the gray level that separates the foreground from the background using the Otsu thresholding algorithm
  • LinearHoughTransform2 - uses a Hough transform to identify the straight lines in an image
  • GaussianBlurFilter - Gaussian blur with configurable radius and standard deviation