반응형

Mask를 이용하여 두 이미지를 합성하는 예제 코드이다.

단, 두 이미지의 크기가 같아야 작동한다. 만약 이미지 크기가 조금이라도 다르다면 오류를 일으킨다.

 

여기서는 flippy.jpg 라는 이미지와 'logo.jpg' 이미지 두개를 합성했다.

원리는 검정색 값은 RGB값이 (0, 0, 0) 이고, 흰색은 (255, 255, 255)이다.

그래서 그 어떤색도 흰색과 더해진다면 모두 흰색이 되고, 검정색은 아무 값이 없기에 합성된 이미지값들이 모두 더해진다. 아래 합성 이미지를 보면 기존 흰색인 부분은 그대로 흰색이고, 검정색인 부분은 녹색배경과 더해져서 그대로 녹색만 출력되었다.

나머지는 빨간색 + 녹색 = 주황색 등등 이런식으로 저런 결과가 나왔다.

 

import cv2

img1 = cv2.imread('flippy.jpg', cv2.IMREAD_COLOR)
img2 = cv2.imread('logo.jpg', cv2.IMREAD_COLOR)

# 두 이미지 합성
img3 = cv2.add(img1, img2)

cv2.waitKey(1000)
cv2.imshow('flippy.jpg', img1)
cv2.imshow('logo.jpg', img2)
cv2.imshow('addtion', img3)

cv2.waitKey(0)
cv2.destroyAllWindows()

 

반응형

 

(결과)

 

 

반응형

+ Recent posts