GeeksforGeeks App
Open App
Browser
Continue

# 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 :

 `# 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()`

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 :

 `# 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()`

My Personal Notes arrow_drop_up