morph — SHAPE2D morph op

• 데이터 종류: image2d × image2d × pairs × pairs → image2d

• 호출: import fullseye as fs; fs.ledger.morph(imgA, imgB, ptsA, ptsB, alpha, method='affine', lam=0.0, with_corners=True)(구현을 직접 호출하려면 import imagemorph; imagemorph.morph(imgA, imgB, ptsA, ptsB, alpha, method='affine', lam=0.0, with_corners=True), 원장에서 가져오려면 opsshape2d.get("morph"))

사용법

영상 2장 A, B를 대응점으로 모핑하여 비율 alpha의 중간 영상을 만든다.

절차(Beier–Neely 방식의 메시 모프):

1. 중간 형상 mid = (1-alpha)·ptsA + alpha·ptsB 를 만든다.

2. A 를 ptsA→mid 로, B 를 ptsB→mid 로 워프(양쪽의 특징을 mid 에 맞춘다).

3. warp(A), warp(B) 를 alpha 로 크로스 디졸브.

alpha=0 이면 A, alpha=1 이면 B 에 일치한다. 단순한 blend(A,B,alpha) 와 달리, 눈·코 등의 특징이 이중상이 되지 않고 1 개로 겹친다(="진짜 중간").

인수:

imgA, imgB: (H,W[,C]), 같은 shape, [0,1].

ptsA, ptsB: (K,2) 의 (x,y). A 와 B 의 대응점(같은 수·같은 순서).

alpha: 합성 비율 [0,1].

method: "affine"(구분 아핀, 빠름)이나 "tps"(매끄러움).

lam: TPS 의 평활화 계수(method="tps" 일 때).

with_corners: True 로 네 모서리를 고정점에 더해 가장자리의 구멍을 막는다.

반환값: (H,W[,C]) 의 중간 영상([0,1]).

자세한 사용 가이드

• shape_description_2d 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• image_morph — py -3.11 examples/image_morph.py

• poc_vanishing_detail_and_morphing_area — py -3.11 examples/poc_vanishing_detail_and_morphing_area.py

타입이 이어지는 다음 연산자(image2d 를 입력으로 받는 것)

warp_tps_image · warp_piecewise_affine · blend · morph_sequence

같은 카테고리(morph)

add_frame_corners · warp_tps_image · warp_piecewise_affine · blend · morph_sequence


*Provenance: imagemorph.py — SHAPE2D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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