반응형


이미지의 투명도를 조정하여 두 개의 이미지가 겹쳐보이게 하는 블렌딩(Blending)을 다룹니다.



마지막 업데이트 - 2018. 9. 18




다음 OpenCV Python 튜토리얼을 참고하여 강좌를 비정기적로 포스팅하고 있습니다.


https://docs.opencv.org/3.4.3/d6/d00/tutorial_py_root.html




상수 α와 β로 이미지의 투명도를 조정하여 두 이미지가 겹쳐보이게 만듭니다.

상수가 0.0이면 투명한 상태가 되며 1.0에 가까워질수록 불투명해집니다.  



import cv2 as cv


a = 0.0

while(a <= 1.0):

   img1 = cv.imread('cat.jpg')
   img2 = cv.imread('background.jpg')


   # 블렌딩하는 두 이미지의 크기가 같아야함
   width = img1.shape[1]
   height = img1.shape[0]
   img2 = cv.resize(img2, (width, height))

   # img1 사진은 점점 투명해지고 img2 사진은 점점 불투명해짐
   b = 1.0 - a
   dst = cv.addWeighted(img1, a, img2, b, 0)
   cv.imshow('dst',dst)
   cv.waitKey(0)

   print( a, " ", b)

   a = a + 0.2


cv.destroyAllWindows()





실행시킨후 키보드의 아무키나 누르면 점점 들판 사진은 투명해지고 고양이 사진은 불투명해집니다.








문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts