morph op• Data kinds: image2d × image2d × pairs × pairs → images
• Call: import fullseye as fs; fs.ledger.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True) (to call the implementation directly, import imagemorph; imagemorph.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True); from the registry, opsshape2d.get("morph_sequence"))
> This operator's description has not been translated yet. The original text follows as it is.
alpha を 0→1 に n 段で振ったモーフ列(A から B へ滑らかに変わる各フレーム)。
返り値: 長さ n の list。先頭が A、末尾が B に一致する。
`alpha = linspace(0, 1, n) の各値で `morph(imgA, imgB, ptsA, ptsB, alpha,
method, lam, with_corners)`` を呼ぶだけ。各フレームは (1) 中間点
`(1-α) ptsA + α ptsB` を作り、(2) A と B をそれぞれそこへワープし、
(3) `α` でクロスディゾルブ、の 3 段。フレームごとにワープ 2 回なので、
コストは `n に比例する(n=7` で 14 回)。
• `imgA, imgB: (H, W[, C])、同じ形、[0, 1]`。NaN/Inf は無言で
0 / 1 に置換される。
• `ptsA, ptsB: (K, 2)` の (x, y)、同数・同順の対応点。
• `n: 2 以上(1 以下は ValueError)。int` に切られる。
• `method: "affine"(Delaunay 区分アフィン、速い)/ "tps"`(薄板スプライン、
滑らか)。それ以外は `ValueError。lam` は TPS の平滑化係数(0 で厳密補間)。
• `with_corners: True で add_frame_corners` を両点群に足し、枠の外側の
穴を防ぐ。
• 返り値: float64 配列 `n 枚の list(images 型)。[0, 1]` にクリップ済み。
1 枚だけ欲しい(例: `α = 0.5 の中間顔)なら morph` を直接。
• shape_description_2d family guide
• 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.
• image_morph — py -3.11 examples/image_morph.py
images as input)—
morph)add_frame_corners · warp_tps_image · warp_piecewise_affine · blend · morph
*Provenance: imagemorph.py — SHAPE2D 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.