Skip to content

SLIC, SEEDS and LSC superpixels

Algorithm atlasSegmentation

Group nearby pixels into small coherent regions to reduce the cost of later reasoning.

Try it on your image ↓

VISUAL WALKTHROUGHSegmentation
REFERENCE INPUTImage with local structure

The same scene stays here while the working view changes.

RESULTRefine image-aware boundaries

Five assignment/mean updates bend regions toward the object boundaries. This colour-spatial clustering example omits native connectivity cleanup.

STEP 03 / 03

Enforce connectivity and expose region labels or boundaries.

Computed colour-spatial clustering example. SLIC, SEEDS and LSC use different optimization and connectivity rules.

Try it on an image

YOUR IMAGE · REAL OPENCV

Experiment at pixel level

Open full lab ↗

Partition Lab colours into SLIC superpixels and draw their boundaries on the original.

The engine loads on your first run. Your images stay in this browser.

Input448 × 320
OutputWaiting for a result

Scroll over either image to zoom at the pointer. Use the scrollbars to pan both views over the same relative area. Zoom is relative to the input; pixel coordinates belong to each image. Warps can change scene correspondence.

Pixel inspector RGBA · native values · matched scale · 9 × 9 output pixels
Hover to inspect. Click to pin a pixel.
Input
Select a pixel

Output
Select a pixel

Sample models and licenses

When to use it

Build region-level features, simplify segmentation inputs, or visualize local image structure.

How it works

  1. 01Initialize a spatial partition or local cluster centres.
  2. 02Refine assignments using the selected colour/spatial objective.
  3. 03Enforce connectivity and expose region labels or boundaries.

pixels → locally coherent regions → region-level processing

What to tune

SLIC balances colour and spatial distance; SEEDS updates block partitions; LSC uses a transformed feature-space clustering objective.

Where it breaks down

Superpixels are an oversegmentation, not semantic objects. The algorithms optimize different objectives and have distinct tuning parameters.

TypeScript API

Open an entry for its exact overloads, parameter descriptions, result ownership and pinned upstream source.

All of these calls execute on the CPU. Native objects need explicit disposal. See matrices and ownership and build compatibility.