Open In App

OpenCV – Alpha blending and masking of images

Last Updated : 03 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
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:




Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads