Tutorial Image Segmentation

From BoofCV
Revision as of 18:27, 28 July 2014 by Peter (talk | contribs) (Created page with "= Image Segmentation and Superpixels in BoofCV = This article provides an overview of image segmentation and superpixels in BoofCV. Image segmentation is a problem in which...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Image Segmentation and Superpixels in BoofCV

This article provides an overview of image segmentation and superpixels in BoofCV. Image segmentation is a problem in which an image is partitioned into groups of related pixels. These pixel groups can then be used to identify objects and reduce the complexity of image processing. Superpixels are a more specific type of segmentation where the partitions form connected clusters.

The following topics will be covered:

  • Thresholding
  • Color histogram
  • Superpixels

For a list of code examples see GitHub

Up to date as of BoofCV v0.17

Thresholding

Thresholding of gray scale images is one the simplest forms of image segmentation. It works by assigning 1 to all pixels below/above an intensity value and the rest 0. Typically the pixels which are assigned a value of 1 are an object of interest. BoofCV provides both global and local thresholding capabilities. The images above demonstrate a global threshold being used on a TEM image with particles.

How do you select a threshold? Discuss...


What happens if there is no good global threshold for an image? This

Show chessboard example for local

Once segmented the next step is typically to identify individual blobs, which can be done using BLAH.

Color Histogram

Next up is color based image segmentation. In this example you can click on a pixel and it will find all pixels with a similar color. This is done by convert the image into a color space which is independent of intensity, HSV, and then selecting pixels which are similar.

One application includes identifying a road for an autonomous vehicle to drive along.

Superpixels

Superpixels have been gaining popularity recently. BoofCV contains implementations of several recently developed algorithms.

Mean-Shift SLIC Felzenszwalb-Huttenlocher Watershed

Which one is the best is highly application dependent. Here is application included with BoofCV which allows you to experiment and play with different parameters.

(go through a few examples)