SWDesk

[Python4BID] 상이한 투명도로 2개의 이미지 합치기

bizmaker 2023. 11. 3. 02:15

2개의 서로 다른 이미지가 있는 경우에,

1) 2개의 이미지를 같은 크기로 맞추고

2) 각 이미지에 상이한 투명도를 적용하여

3) 하나의 새로운 이미지를 만든다.

 

[원본 이미지]

[편집 이미지]

 

 

def MakeImagewithDifferentTransparency():
    alpha = 0.2

    imageFile1 = "./TestImage101.jpg"
    imageFile2 = "./TestImage102.jpg"
    image1 = cv2.imread(imageFile1, cv2.IMREAD_UNCHANGED)
    image2 = cv2.imread(imageFile2, cv2.IMREAD_UNCHANGED)

    if image1.size<image2.size:
        refShape = image2.shape
        image1 = cv2.resize(image1, (refShape[1], refShape[0] ), interpolation=cv2.INTER_CUBIC)
    else:
        refShape = image1.shape
        image2 = cv2.resize(image2, (refShape[1], refShape[0] ), interpolation=cv2.INTER_CUBIC)

    rstImage = np.zeros((refShape[0], refShape[1], 3), dtype=np.uint8)
    for y in range(refShape[0]):
        for x in range(refShape[1]):
#            cvtPixel = cv2.addWeighted(image1[y, x], alpha, image2[y, x], 1-alpha, 0)
            cvtPixel = image1[y, x]*alpha + image2[y, x]*(1-alpha)
            rstImage[y, x] = cvtPixel


    cv2.imwrite("./OutImage102.jpg", rstImage)
반응형