blend op• Datenarten: image2d × image2d × mask → image2d
• Aufruf: import fullseye as fs; fs.ledger.poisson_blend(src, dst, mask, offset=(0, 0)) (die Implementierung direkt: import colortransport; colortransport.poisson_blend(src, dst, mask, offset=(0, 0)); aus dem Register: opscolortransport.get("poisson_blend"))
• Rückgabewert über das Register: fullseye.ledger.poisson_blend(...) liefert nur den Wert des deklarierten Out-Typs image2d (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.poisson_blend.raw(...) oder rufe colortransport.poisson_blend direkt auf.
Nahtloses Compositing, das das Gradientenfeld überträgt (Pérez, Gangnet & Blake, SIGGRAPH 2003).
Innerhalb von mask wird der Gradient von src beibehalten und ein Bild gelöst, das auf dem Rand den Werten von dst entspricht. Die Ausgabe erfüllt daher die folgenden 2 Eigenschaften konstruktionsbedingt, und genau das dient als Gegenprobe der Korrektheit:
• der Laplace-Operator im Inneren stimmt mit dem Laplace-Operator von src überein (bis auf das Residuum der Lösung)
• außerhalb der Maske stimmt sie exakt mit dst überein (kein 1 Pixel wird angefasst)
Die Farbe des eingefügten Objekts ändert sich. Genau das ist Zweck der Operation, aber wer sie unverändert für "die Farbe des eingefügten Objekts messen" verwendet, misst in Wahrheit die Farbe des Ziels. Der Rückgabewert ist (blended, info); info["changed_pixels"] und info["max_shift"] geben an, wie viel sich tatsächlich bewegt hat.
src : array_like
Das einzufügende Bild. (H, W) oder (H, W, C).
dst : array_like
Das Ziel. Mindestens so groß wie src.
mask : array_like
Boolesch, gleiches (H, W) wie src. Sie darf den Rand nicht berühren
(wird ausdrücklich abgewiesen, da sich keine Randbedingung bilden lässt).
offset : (int, int)
(row, col), an dem die linke obere Ecke von src in dst platziert wird.
(ndarray, dict)
• colorimetry — Farbmetrik und Spektren — Farbe ist nur durch Spektrum × Lichtart × Beobachter bestimmt
• 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.
• color_transport — py -3.11 examples/color_transport.py
image2d als Eingabe)blend)—
*Provenance: colortransport.py — COLORTRANSPORT 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.