Mean Shift Filter

Author: Kai Uwe Barthel (k.barthel at fhtw-berlin.de)
Internationale Medieninformatik
Berlin, Germany
History: 2007/12/11: First version
2007/12/13: Works with all image types except 8-bit color
Source: Mean_Shift.java
Installation: Download Mean_Shift.class to the plugins folder, or subfolder, restart ImageJ, and there will be a new "Mean Shift" command in the Plugins menu, or submenu.
Description: This plugin is a very simple implementation of a mean shift filter that can be used for edge-preserving smoothing or for segmentation. Important edges of an image might be easier detected after mean shift filtering.

dialog

It uses a circular flat kernel and the color distance is calculated in the YIQ-color space. For large spatial radii the plugin might become quite slow.

Mean shift filtering is a data clustering algorithm commonly used in computer vision and image processing. For each pixel of an image (having a spatial location and a particular color), the set of neighboring pixels (within a spatial radius and a defined color distance) is determined. For this set of neighbor pixels, the new spatial center (spatial mean) and the new color mean value are calculated. These calculated mean values will serve as the new center for the next iteration. The described procedure will be iterated until the spatial and the color (or grayscale) mean stops changing. At the end of the iteration, the final mean color will be assigned to the starting position of that iteration. A very good introduction to the mean shift algorithm (in PowerPoint format) can be found here.

example

|Plugins | Home |