add_frame_corners — SHAPE2D morph op

• Datenarten: pairs → pairs

• Aufruf: import fullseye as fs; fs.ledger.add_frame_corners(pts, shape) (die Implementierung direkt: import imagemorph; imagemorph.add_frame_corners(pts, shape); aus dem Register: opsshape2d.get("add_frame_corners"))

Verwendung

Fügt der Punktmenge die vier Bildecken (+ die Kantenmittelpunkte) als Fixpunkte hinzu.

Die Standardmaßnahme, damit die Triangulierung des Warps das ganze Bild abdeckt und Löcher außerhalb der konvexen Hülle verhindert werden. Fügt man sie src/dst beiden in derselben Reihenfolge hinzu, wirken die vier Ecken als "Korrespondenzpunkte, die sich nicht bewegen".

Die 8 hinzugefügten Punkte sind in Pixelmittenkoordinaten (x, y), mit W-1 / H-1 als Rand:

(0,0) (xm,0) (W-1,0) (0,ym) (W-1,ym) (0,H-1) (xm,H-1) (W-1,H-1) (xm = (W-1)/2, ym = (H-1)/2). Sie werden in dieser Reihenfolge am Ende angehängt.

• pts: (N, 2) als (x, y) (x = Spalte, y = Zeile), endlich. Wird (row, col) übergeben, läuft es mit vertauschtem x und y durch (keine Ausnahme).

• shape: shape des Bildes (bei (H, W) wie bei (H, W, C) werden die ersten 2 verwendet).

• Rückgabewert: (N + 8, 2) float64.

• Ob die ursprünglichen Punkte bereits auf oder außerhalb des Rahmens liegen, wird nicht geprüft. Korrespondenzpunkte außerhalb des Rahmens schneiden in der Delaunay-Triangulierung die Rahmendreiecke, und der Warp wird verzerrt.

morph / morph_sequence wenden dies mit with_corners=True intern auf beide Punktmengen an. Wer warp_piecewise_affine / warp_tps_image direkt aufruft, muss sie selbst sowohl src als auch dst hinzufügen.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie shape_description_2d

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• shape2d_morph_descriptor_tour — py -3.11 examples/shape2d_morph_descriptor_tour.py

Typkompatible Folge-Operatoren (nehmen pairs als Eingabe)

elliptic_fourier · fourier_smooth · contour_fourier_complex · warp_tps_image · warp_piecewise_affine · morph · morph_sequence

Gleiche Kategorie (morph)

warp_tps_image · warp_piecewise_affine · blend · morph · morph_sequence


*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.