Addition and Blending of images using OpenCV in Python

When we talk about images, we know its all about the matrix either binary image(0, 1), gray scale image(0-255) or RGB image(255 255 255). So additions of the image is adding the numbers of two matrices. In OpenCV, we have a command cv2.add() to add the images.

Below is code for Addition of two images using OpenCV :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program for adding
# images using OpenCV
  
# import OpenCV file
import cv2
  
# Read Image1
mountain = cv2.imread('F:\mountain.jpg', 1)
  
# Read image2
dog = cv2.imread('F:\dog.jpg', 1)
  
# Add the images
img = cv2.add(mountain, dog)
  
# Show the image
cv2.imshow('image', img)
  
# Wait for a key
cv2.waitKey(0)
  
# Distroy all the window open
cv2.distroyAllWindows()

chevron_right


But sometimes we do not want to perform simple addition in image, so in this case we have blending. This is also image addition, but different weights are given to images so that it gives a feeling of blending or transparency. Images are added as per the equation below :

g(x) = (1 - a)f(x) + af1(x)

By varying a from 0 -> 1, you can perform a cool transition between one image to another. Here two images are taken to blend together. First image is given a weight of 0.3 and second image is given 0.7, cv2.addWeighted() applies following equation on the image :

img = a . img1 + b . img 2 + y

Here y is taken as zero.

Below is code for Blending of images using OpenCV :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program for blending of
# images using OpenCV
  
# import OpenCV file
import cv2
  
# Read Image1
mountain = cv2.imread('F:\mountain.jpg', 1)
  
# Read image2
dog = cv2.imread('F:\dog.jpg', 1)
  
# Blending the images with 0.3 and 0.7
img = cv2.addWeighted(mountain, 0.3, dog, 0.7, 0)
  
# Show the image
cv2.imshow('image', img)
  
# Wait for a key
cv2.waitKey(0)
  
# Distroy all the window open
cv2.distroyAllWindows()

chevron_right




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.