morph op• Datenarten: image2d × image2d × pairs × pairs → images
• Aufruf: import fullseye as fs; fs.ledger.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True) (die Implementierung direkt: import imagemorph; imagemorph.morph_sequence(imgA, imgB, ptsA, ptsB, n=7, method='affine', lam=0.0, with_corners=True); aus dem Register: opsshape2d.get("morph_sequence"))
Morph-Folge, bei der alpha in n Schritten von 0→1 läuft (Frames, die sich glatt von A nach B ändern).
Rückgabewert: list der Länge n. Das erste entspricht A, das letzte B.
Ruft für jeden Wert von alpha = linspace(0, 1, n) einfach morph(imgA, imgB, ptsA, ptsB, alpha, method, lam, with_corners) auf. Jeder Frame hat 3 Stufen: (1) die Zwischenpunkte (1-α) ptsA + α ptsB bilden, (2) A und B jeweils dorthin warpen,
(3) mit α überblenden. Pro Frame 2 Warps, daher
sind die Kosten proportional zu n (14 Warps bei n=7).
• imgA, imgB: (H, W[, C]), gleiche Form, [0, 1]. NaN/Inf werden stillschweigend durch 0 / 1 ersetzt.
• ptsA, ptsB: (K, 2) als (x, y), Korrespondenzpunkte gleicher Anzahl und Reihenfolge.
• n: 2 oder mehr (1 oder weniger ergibt ValueError). Wird auf int abgeschnitten.
• method: "affine" (Delaunay, stückweise affin, schnell) / "tps" (Thin-Plate-Spline, glatt). Alles andere ergibt ValueError. lam ist der TPS-Glättungskoeffizient (0 für exakte Interpolation).
• with_corners: True fügt beiden Punktmengen add_frame_corners hinzu und verhindert Löcher außerhalb des Rahmens.
• Rückgabewert: list von n float64-Arrays (Typ images). Bereits auf [0, 1] begrenzt.
Wird nur 1 Bild gebraucht (z. B. das Zwischengesicht bei α = 0.5), direkt morph verwenden.
• Leitfaden zur Familie shape_description_2d
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• image_morph — py -3.11 examples/image_morph.py
images als Eingabe)—
morph)add_frame_corners · warp_tps_image · warp_piecewise_affine · blend · morph
*Provenance: imagemorph.py — SHAPE2D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.