poisson_blend — COLORTRANSPORT blend op

• Data kinds: image2d × image2d × mask → image2d

• Call: import fullseye as fs; fs.ledger.poisson_blend(src, dst, mask, offset=(0, 0)) (implementation को सीधे call करना हो तो import colortransport; colortransport.poisson_blend(src, dst, mask, offset=(0, 0)), registry से लेना हो तो opscolortransport.get("poisson_blend"))

• Ledger के ज़रिए return value: fullseye.ledger.poisson_blend(...) केवल घोषित out type image2d का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.poisson_blend.raw(...) का उपयोग करें, या colortransport.poisson_blend को सीधे call करें।

उपयोग

gradient field को ले जाने वाला बिना जोड़ का compositing (Pérez, Gangnet & Blake, SIGGRAPH 2003)।

mask के अंदर src का gradient बनाए रखते हुए, ऐसी image हल की जाती है जो boundary पर dst के मानों से मेल खाती है। इसलिए output नीचे की 2 बातें construction से ही पूरी करता है, और यही सही होने का cross-check है:

• अंदर का Laplacian src के Laplacian से मेल खाता है (solve के residual तक)

• mask के बाहर यह dst से बिल्कुल मेल खाता है (1 pixel भी नहीं छुआ जाता)

चिपकाई गई वस्तु का रंग बदल जाता है। यही इस processing का उद्देश्य है, पर अगर इसे सीधे "चिपकाई गई वस्तु का रंग मापने" जैसे उपयोग में डाला जाए, तो जो मापा जा रहा है वह destination का रंग है । return value है (blended, info), और info["changed_pixels"] तथा info["max_shift"] बताते हैं कि वास्तव में कितना बदला।

Parameters

src : array_like

चिपकाने वाली picture। (H, W) या (H, W, C)।

dst : array_like

destination। आकार src के बराबर या बड़ा।

mask : array_like

src जैसा ही (H, W) का boolean। यह border को नहीं छूना चाहिए

(boundary condition नहीं ली जा सकती, इसलिए इसे स्पष्ट रूप से reject किया जाता है)।

offset : (int, int)

dst के अंदर (row, col) जहाँ src का top-left रखा जाता है।

Returns

(ndarray, dict)

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• colorimetry — Colorimetry और spectra — रंग केवल spectrum × illuminant × observer से तय होता है

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• color_transport — py -3.11 examples/color_transport.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

histogram_match

इसी category के (blend)

—


*Provenance: colortransport.py — COLORTRANSPORT operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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