shape_locate — 2D matching op

Data kinds: imagematch

Call: fullseye.apply(img, "shape_locate", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

HALCON equivalent: find_shape_model (the HALCON reference is a useful guide to its meaning and parameters)

shape_locate: 入力 → 出力

*The figure is the real output on a synthetic 128×128 input. Left: input, right: output (a non-image return value is shown as the value itself).*

Usage

Template matching that accounts for rotation (shape-based matching). Equivalent to HALCON's `find_shape_model` (Find the best matches of a shape model in an image.).

> The detailed description below is the original text — the summary and the headings are translated.

`a, b は未使用——テンプレートは _ncc_locate と同じく set_match_template で事前登録する。テンプレートを 0°〜330° まで 30° 刻みで回転させながらそれぞれ _ncc_map(NCC)を計算し、全位置・全角度を通じて最良の相関を [相関値, y, x, 角度] で返す。角度の刻みが粗い(30°)ぶん、HALCON の find_shape_model のような連続的な角度精度は出ない——大まかな向き検出用。テンプレート未設定時は [0,0,0,0]`。

Detailed usage guide

gallery2d_contour_measure family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Try it in Studio

The program below has been verified to run (same input as the figure). In Studio's help this block becomes buttons that load and run it on the spot.

shape_locate 0.50 0.50

▸ Load this pipeline  ·  Load & run

Runnable examples (verified samples that actually call this op)

gallery2d_contour_measurepy -3.11 examples/gallery2d_contour_measure.py

poc_template_trackingpy -3.11 examples/poc_template_tracking.py

Ops the type connects to (they accept match as input)

identity

Same category (matching)

ncc_locate


*Provenance: ops.py — 2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.