- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to perform bitwise AND operation on two images in OpenCV Python?
A very important application of bitwise AND operation in computer vision or image processing is for creating masks of the image. We can also use the operator to add watermarks to an image.
The pixel values of an image are represented as a numpy ndarray. The pixel values are stored using 8-bit unsigned integers (uint8) in a range from 0 to 255. The bitwise AND operation between two images is performed on the binary representation of these pixel values of corresponding images.
Given below is the syntax to perform bitwise AND operation on two images −
cv2.bitwise_and(img1, img2, mask=None)
img1 and img2 are the two input images and mask is a mask operation.
Steps
To compute bitwise AND between two images, you can follow the steps given below −
Import the required library OpenCV. Make sure you have already installed it.
import cv2
Read the images using cv2.imread() method. The width and height of images must be the same.
img1 = cv2.imread('lamp.jpg') img2 = cv2.imread('jonathan.jpg')
Compute the bitwise AND on the images using cv2.biwise_and(img1, img2).
and_img = cv2.bitwise_and(img1,img2)
Display the bitwise AND image.
cv2.imshow('Bitwise AND Image', and_img) cv2.waitKey(0) cv2.destroyAllWindows()
Input Image
We will use the following images as the input files in the examples below.
Example 1
In the following Python program, we compute the bitwise AND on the two color images −
# import required libraries import cv2 # read two input images. # The size of both images must be the same. img1 = cv2.imread('lamp.jpg') img2 = cv2.imread('jonathan.jpg') # compute bitwise AND on both images and_img = cv2.bitwise_and(img1,img2) # display the computed bitwise AND image cv2.imshow('Bitwise AND Image', and_img) cv2.waitKey(0) cv2.destroyAllWindows()
Output
When you run this Python program, it will produce the following output −
Example 2
The python program below shows the application of bitwise AND operation on images. We created a mask and then used to perform the bitwise_and operation.
# import required libraries import cv2 import matplotlib.pyplot as plt import numpy as np # Read an input image as a gray image img = cv2.imread('jonathan.jpg',0) # create a mask mask = np.zeros(img.shape[:2], np.uint8) mask[100:400, 150:600] = 255 # compute the bitwise AND using the mask masked_img = cv2.bitwise_and(img,img,mask = mask) # display the input image, mask, and the output image plt.subplot(221), plt.imshow(img, 'gray'), plt.title("Original Image") plt.subplot(222), plt.imshow(mask,'gray'), plt.title("Mask") plt.subplot(223), plt.imshow(masked_img, 'gray'), plt.title("Output Image") plt.show()
Output
When you run this Python program, it will produce the following output −
- Related Articles
- How to perform bitwise OR operation on two images in OpenCV Python?
- How to perform Bitwise And operation on two images using Java OpenCV?
- How to perform bitwise XOR operation on images in OpenCV Python?
- How to perform Bitwise OR operation on two images using Java OpenCV?
- How to perform Bitwise XOR operation on two images using Java OpenCV?
- How to perform Bitwise Not operation on images using Java OpenCV?
- OpenCV Python – How to perform bitwise NOT operation on an image?
- OpenCV Python – How to perform SQRBox filter operation on an image?
- How to perform bilateral filter operation on an image in OpenCV using Python?
- Performing white TopHat operation on images using OpenCV
- Performing white BlackHat operation on images using OpenCV
- How to compare two images in OpenCV Python?
- How to join two images horizontally and vertically using OpenCV Python?
- How to compare histograms of two images using OpenCV Python?
- C++ Program to Perform Addition Operation Using Bitwise Operators
