[DIP] Image Morphing (Simple)

2024. 9. 22. 18:06·Programming/DIP
728x90
728x90

https://ccrma.stanford.edu/~jacobliu/368Report/index.html

Image Morphing은 한 이미지에서 다른 이미지로 부드럽게 전환하는 기술

 

두 image간에 대응되는 특징점들을 추출하여 mesh를 만들고 이들을 이용하여 부드럽게 전환이 되도록하는 게 일반적이지만,
다음은 alpha-blending만을 이용한 아주 간단한 방법임.

https://dsaint31.me/mkdocs_site/DIP/cv2/ch01/dip_1_04/

 

BME

Image Blending (or alpha Blending) 이것도 이미지 더하기 의 일종이지만, 이미지에 다른 가중치(\(\alpha\))를 부여하여 Blending 또는 transparency (투명감) 느낌을 부여함. 이는 아래 수식에 따라 더해짐: \[ g(i,j

dsaint31.me


Example

import cv2
import os

def f(x):
  alpha = x/100
  ret = cv2.addWeighted(img_0, alpha, img_1, 1-alpha,0)
  cv2.imshow('img',ret)

d_path = os.path.dirname(__file__)
d_path = f'{d_path}/img'
fstr_0 = os.path.join(d_path,'face02.PNG')
fstr_1 = os.path.join(d_path,'man_face.jpg')

img_0 = cv2.imread(fstr_0)
img_1 = cv2.imread(fstr_1)
img_0 = cv2.resize(img_0, dsize=(img_1.shape[1],img_1.shape[0]), interpolation= cv2.INTER_AREA)

init_ap = 50
alpha = init_ap/100
cv2.namedWindow('img')
cv2.createTrackbar('p', 'img', init_ap, 100, f)
ret = cv2.addWeighted(img_0, alpha, img_1, 1-alpha,0)
cv2.imshow('img',ret)
while(True):
    k = cv2.waitKey(10) & 0xFF
    if k == 27: # esc
        break
    if cv2.getWindowProperty('img', cv2.WND_PROP_VISIBLE) < 1:
        break

cv2.destroyAllWindows()
728x90

'Programming > DIP' 카테고리의 다른 글

[DIP] CV2.INTER_AREA  (0) 2024.09.22
[DIP] Interpolation (on Image)  (2) 2024.09.22
[OpenCV] bitwise op.  (0) 2024.09.22
[DIP] Image 다루기: cv2-기본편 1 (Summary)  (0) 2024.09.22
[DIP] cv2.imwrite  (1) 2024.09.22
'Programming/DIP' 카테고리의 다른 글
  • [DIP] CV2.INTER_AREA
  • [DIP] Interpolation (on Image)
  • [OpenCV] bitwise op.
  • [DIP] Image 다루기: cv2-기본편 1 (Summary)
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Private Life (15)
      • Programming (206)
        • DIP (116)
        • ML (35)
      • Computer (17)
        • CE (54)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Probability
    SS
    linear algebra
    ML
    인허가제도
    math
    signals_and_systems
    numpy
    Python
    Vector
    fourier transform
    function
    opencv
    Programming
    Optimization
    random
    cv2
    signal_and_system
    Term
    SIGNAL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[DIP] Image Morphing (Simple)
상단으로

티스토리툴바