Histograms Equalization using Python OpenCv Module


This is a method in image processing to do contrast adjustment using the image's histogram.

Actually this method usually increases the global contrast of many images, especially when the usable data of the image is represented by close contrast values and through this adjustment, the intensities can be better distributed on the histogram and it allows for areas of lower local contrast to gain a higher contrast.

OpenCV has a function to do this, cv2.equalizeHist() and its input is just grayscale image and output is our histogram equalized image.

This technique is good when histogram of the image is confined to a particular region and it won't work good in places where there are large intensity variations and where histogram covers a large region, i.e. both bright and dark pixels are present.

Input

Madanmohan Temple

Example Code

import cv2
# import Numpy
import numpy as np
# reading an image using imreadmethod
my_img = cv2.imread('C:/Users/TP/Pictures/west bengal/bishnupur/pp.jpg', 0)
equ = cv2.equalizeHist(my_img)
# stacking both the images side-by-side orientation
res = np.hstack((my_img, equ))
# showing image input vs output
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

Output

Madanmohan Output

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 30-Jul-2019

512 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements