Histogram equalization
Histogram equalization is the process of modifying the intensities of the image pixels to enhance the contrast. The human eye likes contrast! This is the reason that almost all camera systems use histogram equalization to make images look nice. The interesting thing is that the histogram equalization process is different for grayscale and color images. There's a catch when dealing with color images, and we'll see it in this recipe. Let's see how to do it.
How to do it…
Create a new Python file, and import the following packages:
import sys import cv2 import numpy as np
Load the input image. We will use the image,
sunrise.jpg
:# Load input image -- 'sunrise.jpg' input_file = sys.argv[1] img = cv2.imread(input_file)
Convert the image to grayscale and display it:
# Convert it to grayscale img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('Input grayscale image', img_gray)
Equalize the histogram of the grayscale image and display it:
# Equalize the histogram img_gray_histeq...