morph opimage2d × pairs × pairs → image2dimport fullseye as fs; fs.ledger.warp_piecewise_affine(img, src_pts, dst_pts, order=1) (実装を直接呼ぶなら import imagemorph; imagemorph.warp_piecewise_affine(img, src_pts, dst_pts, order=1)、台帳から引くなら opsshape2d.get("warp_piecewise_affine"))img の src_pts にある内容を dst_pts へ動かす区分アフィンワープ。
dst_pts を Delaunay 三角形分割し、各出力画素が属す三角形の重心座標を求め、
同じ重心座標で src_pts 側の対応三角形へ写して逆写像サンプルする。凸包の外側
(三角形に属さない画素)は恒等(元位置)でサンプルするため、四隅を対応点に含める
(:func:add_frame_corners)と穴なく画像全体を覆える。
引数: img: (H,W) か (H,W,C)、[0,1]。 src_pts, dst_pts: (K,2) の (x,y)。同数・同順の対応点。 order: 補間次数(1=バイリニア)。
返り値: img と同 shape・[0,1] の float64。
py -3.11 examples/shape2d_morph_descriptor_tour.pyimage2d を入力に取れる)warp_tps_image · blend · morph · morph_sequence
morph)add_frame_corners · warp_tps_image · blend · morph · morph_sequence
Provenance: imagemorph.py — SHAPE2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.