blend — SHAPE2D morph op

• Data kinds: image2d × image2d → image2d

• Call: import fullseye as fs; fs.ledger.blend(a, b, alpha) (implementation को सीधे call करना हो तो import imagemorph; imagemorph.blend(a, b, alpha), registry से लेना हो तो opsshape2d.get("blend"))

उपयोग

cross-dissolve (1-alpha)·a + alpha·b (a, b का shape समान और मान [0,1] में)।

हर pixel पर linear interpolation। corresponding points से warp नहीं करता, इसलिए जिन 2 images में आँखें या contour खिसके हों उनमें दोहरी छवि बनती है -- features को 1 में मिलाना हो तो morph।

• a, b: (H, W) या (H, W, C), समान shape। float64 में बदला जाता है। NaN को चुपचाप 0, +Inf को 1, -Inf को 0 से बदला जाता है (exception नहीं उठता)। मान की range नहीं जाँची जाती, परिणाम को बस [0, 1] में clip किया जाता है, इसलिए 0-255 की image देने पर बहुत उजली (blown-out) तस्वीर लौटती है।

• alpha: मिश्रण अनुपात। [0, 1] में चुपचाप clip (0 पर a, 1 पर b)।

• return value: input जैसे ही shape का float64, [0, 1]।

• विफलता: ValueError (dimensions 2/3 नहीं, खाली, shape मेल नहीं)।

morph_sequence का हर frame warp के बाद की 2 images को इसी सूत्र से मिलाता है।

उपयोग की विस्तृत guide

• shape_description_2d family guide

संदर्भ (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 करते हैं)

• image_morph — py -3.11 examples/image_morph.py

• poc_live4d — py -3.11 examples/poc_live4d.py

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

warp_tps_image · warp_piecewise_affine · morph · morph_sequence

इसी category के (morph)

add_frame_corners · warp_tps_image · warp_piecewise_affine · morph · morph_sequence


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

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