Image blending results as a noise
I'm trying to blend 3 images.
- Second i'm trying to overlay
effect.png
over resulting image from previous step.
The result looks like this
I'm using opencv blending described here. I've tried to use cv2.addWeighted
but the result was the same
# blending function
def img_overlay(background, overlay, x_offset, y_offset):
y1, y2 = y_offset, y_offset + overlay.shape[0]
x1, x2 = x_offset, x_offset + overlay.shape[1]
alpha_s = overlay[:, :, 3] / 255.0
alpha_l = 1.0 - alpha_s
for c in range(0, 3):
background[y1:y2, x1:x2, c] = (alpha_s * overlay[:, :, c] +
alpha_l * background[y1:y2, x1:x2, c])
return background
# First step
background = cv2.imread('base.png')
overlay = cv2.imread('photo.png', -1)
x_offset = 386
y_offset = 70
base_photo = img_overlay(background, overlay, x_offset, y_offset)
# Second step
overlay = cv2.imread('effect.png', -1)
final_photo = img_overlay(base_photo, overlay, 0, 0)
cv2.imwrite(result, final_photo)
How i can fix img_overlay
function so it will overlay effect.png
correctly?
helo, can you upload your images here, not on an external site ? (edit and use upload image button) thank you ;)
@berak Sorry i can't. I'm getting 413 error when trying to upload an image here