Fingerprint scan
Minutiae detected
Classical computer vision

FingerMatch

Two prints in, one score out — every step real math, made visible.

PythonFastAPIOpenCVscikit-imageReactTypeScript
Scroll
Enhancing
01 — Enhancement

Make it legible first

Normalize the raw image, estimate the orientation field, sharpen the ridges with Gabor filters, and binarize.

  1. 1Normalize
  2. 2Orientation field
  3. 3Gabor enhancement
  4. 4Binarize
02 — Skeleton

Thinned to a single line

The ridges are thinned to 1 pixel wide. Short spurs are pruned so they don't become false minutiae.

Before
~6px ridge
After
1px skeleton
4spurs pruned
Skeletonizing
03 — Minutiae

Where ridges end and fork

Crossing number: count the eight neighbours of each skeleton pixel. 1 transition = ending, 3 = bifurcation.

CN = ½·Σ|pᵢ − pᵢ₊₁|

Ending

CN = 1

Bifurcation

CN = 3

16 Ending 58 Bifurcation
0 minutiae
04 — Singular points

The heart of the pattern

Poincaré index: sum the orientation around a loop — +180° is a loop (core), −180° a delta.

Loop+0°
Delta−0°
Core · Delta
05 — The match

Do they line up?

Two prints are aligned with RANSAC, orientation-consistent minutiae are paired, and a score is computed — shown here in the real analysis cockpit.

fingermatch.projects.manu-web.de
FingerMatch — matched prints
Match score and per-type breakdown

Score 55% — “Likely identical”. A similarity value, not a court-admissible identification.

06 — The cockpit

The full analysis cockpit

Load two prints, filter markers by type, zoom and pan — and compare live.

fingermatch.projects.manu-web.de
FingerMatch analysis cockpit
06 — Limits

A score — not an identification

FingerMatch produces a similarity score as a learning and analysis tool.

  • Detects minutiae and singular points with real CV
  • Aligns two prints and scores their similarity
  • Not a court-admissible AFIS, not an identification
  • Does not replace forensic examination
Swappable detector

classical

Classical pipeline — all four marker types

minutiaenet (ONNX)

Experimental: localizes with a net, classifies classically

The model localizes; the classical logic classifies.