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 को इसी सूत्र से मिलाता है।
• shape_description_2d family guide
• 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 में दिए गए हैं।
• image_morph — py -3.11 examples/image_morph.py
• poc_live4d — py -3.11 examples/poc_live4d.py
image2d को input के रूप में लेते हैं)warp_tps_image · warp_piecewise_affine · morph · morph_sequence
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.