Open In App

Addition and Blending of images using OpenCV in Python

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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




Last Updated : 04 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads