데이터사이언스/데이터 지식

합성사진 제작(% 설정)

박윤서 2022. 5. 9. 16:47
import cv2
import numpy as np

weight = 0.5

img1 = cv2.imread('C:/Users/yunse/images/myData.png')
img2 = cv2.imread('C:/Users/yunse/images/bag_cartoon.png')
img1 = cv2.resize(img1, (300,400))
img2 = cv2.resize(img2, (300,400))

img_merged = cv2.addWeighted(img1, weight, img2, 1-weight, 0)
cv2.imshow('Display', img_merged)

cv2.waitKey(0)
cv2.destroyAllWindows()

트랙바로 조절하는 것과 큰 차이는 없지만 트랙바에 사용될 함수를 따로 정의하지 않아도 된다.

그리고 몇%로 합성할지 지정해서 그 이미지만 도출한다. 

지금 이 코드는 동일한 가중치를 주어 50%씩 합성한 것이다. 원하는 대로 weight값을 조절하면 된다.

  • cv2.addWeight(img1, alpha, img2, beta, gamma)
    img1, img2: 합성할 두 이미지
    alpha: img1에 지정할 가중치(알파 값)
    beta: img2에 지정할 가중치, 흔히 (1-alpha) 적용
    gamma: 연산 결과에 가감할 상수, 흔히 0 적용