Scientific image processing on NumPy arrays · classical CV · verified against scikit-image 0.26 (2026)

scikit-image cheat sheet

scikit-image (skimage) is the scientific image-processing toolbox: filtering, thresholding, morphology, segmentation, feature detection, geometric transforms and region measurement — all on plain NumPy arrays, built on scipy.ndimage. It's the classical-CV complement to deep learning: preprocessing, quantification (cells, particles, materials) and analysis. The two rules to know: images are arrays (row, col) and dtype implies range (float in [0,1], uint8 in [0,255]). Targets scikit-image 0.26.

io, color, dtype filters & exposure morphology & segmentation measure & features transform & restoration gotcha most common

Verified 2026-08-24 against the official docs at scikit-image.org (skimage 0.26). Builds on NumPy & SciPy; results are arrays you can hand to matplotlib, pandas (via regionprops_table), or an ML model.

Outline

A typical pipeline: read → grayscale/adjust → threshold/segment → label → measure regions. The submodules below map to those steps.

Load

  1. 1 · io, sample data, dtype
  2. 2 · Color & conversions

Enhance

  1. 3 · Filters & edges
  2. 4 · Exposure & thresholding

Segment

  1. 5 · Morphology
  2. 6 · Segmentation

Measure

  1. 7 · Label & regionprops
  2. 8 · Features & detection

Transform

  1. 9 · Geometric & restoration
  2. 10 · Gotchas
  3. Worth memorizing

Load & Represent

Read images, and get the dtype/range right.

1io, sample data, dtype0.26
2Color & conversionsskimage.color

Enhance

Smooth, sharpen, find edges, fix contrast, and threshold.

3Filters & edgesskimage.filters
4Exposure & thresholdingcontrast → binary

Segment

Clean up masks and partition the image into regions.

5Morphologyskimage.morphology
6Segmentationskimage.segmentation

Measure & Detect

Turn regions into numbers, and find keypoints/objects.

7Label & regionpropsquantify
8Features & detectionskimage.feature

Transform & Restore

Resize/warp geometry and denoise.

9Geometric & restorationtransform / restoration
!Common gotchasread before shipping

Worth memorizing

images are NumPy arrays(row, col[, channel]); submodules imported explicitly
dtype implies rangefloat [0,1], uint8 [0,255]; convert with img_as_float/ubyte
coordinates are (y, x)row, col — reversed vs OpenCV/plotting
threshold_otsu → maskgray > threshold_otsu(gray) starts most segmentation
morphology opening/closingremove specks / fill holes; footprint sets the scale
watershed splits touching objectsdistance transform + markers
label then regionpropsconnected components → per-object area/centroid/intensity
regionprops_table → DataFramethe fast path to measurements in pandas
resize with anti_aliasingavoids moiré when downscaling