JUNGU's picture
Duplicate from Alican/pixera
0103298
raw
history blame contribute delete
931 Bytes
import cv2
import numpy as np
class combine:
#Author: Alican Akca
def __init__(self, size = (400,300),images = [],background_image = None):
self.size = size
self.images = images
self.background_image = background_image
def combiner(self,images,background_image):
original = images[0]
masked = images[1]
background = cv2.resize(background_image,(images[0].shape[1],images[0].shape[0]))
result = blend_images_using_mask(original, background, masked)
return result
def mix_pixel(pix_1, pix_2, perc):
return (perc/255 * pix_1) + ((255 - perc)/255 * pix_2)
def blend_images_using_mask(img_orig, img_for_overlay, img_mask):
if len(img_mask.shape) != 3:
img_mask = cv2.cvtColor(img_mask, cv2.COLOR_GRAY2BGR)
img_res = mix_pixel(img_orig, img_for_overlay, img_mask)
return cv2.cvtColor(img_res.astype(np.uint8), cv2.COLOR_BGR2RGB)