Open In App

OpenCV - Alpha blending and masking of images

Last Updated : 03 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Alpha blending is the process of overlaying a foreground image on a background image.

We take these two images to blend :

gfg.png
apple.jpeg

Steps :

  • First, we will import OpenCV.
  • We read the two images that we want to blend.
  • The images are displayed.
  • We have a while loop that runs while the choice is 1.
  • Enter an alpha value.
  • Use cv2.addWeighted() to add the weighted images.
  • We display and save the image as alpha_{image}.png.
  • To continue and try out more alpha values, press 1. Else press 0 to exit.
Python3
import cv2

img1 = cv2.imread('gfg.png')
img2 = cv2.imread('apple.jpeg')

img2 = cv2.resize(img2, img1.shape[1::-1])

cv2.imshow("img 1",img1)

cv2.waitKey(0)

cv2.imshow("img 2",img2)

cv2.waitKey(0)

choice = 1

while (choice) :

    alpha = float(input("Enter alpha value"))

    dst = cv2.addWeighted(img1, alpha , img2, 1-alpha, 0)

    cv2.imwrite('alpha_mask_.png', dst)

    img3 = cv2.imread('alpha_mask_.png')

    cv2.imshow("alpha blending 1",img3)

    cv2.waitKey(0)

    choice = int(input("Enter 1 to continue and 0 to exit"))

Outputs:

alpha = 0.8
alpha = 0.5

Alpha masking:

We can create a black and white mask from an image with a transparent background.

Python3
import cv2
im = cv2.imread("spectacles.png", cv2.IMREAD_UNCHANGED)
_, mask = cv2.threshold(im[:, :, 3], 0, 255, cv2.THRESH_BINARY)
cv2.imwrite('mask.jpg', mask)

Output:


Next Article
Article Tags :
Practice Tags :

Similar Reads