0
0
Computer Visionml~5 mins

Histogram equalization in Computer Vision

Choose your learning style9 modes available
Introduction

Histogram equalization makes images clearer by spreading out the brightness levels evenly. It helps us see details better in dark or bright areas.

Improving contrast in photos taken in low light.
Making details visible in medical images like X-rays.
Enhancing satellite images to see land features clearly.
Preparing images for better object detection in AI.
Fixing washed-out photos with poor contrast.
Syntax
Computer Vision
import cv2

equalized_image = cv2.equalizeHist(grayscale_image)

The input image must be in grayscale (black and white).

The function returns a new image with improved contrast.

Examples
Load a grayscale image and apply histogram equalization to improve contrast.
Computer Vision
import cv2
image = cv2.imread('photo.jpg', cv2.IMREAD_GRAYSCALE)
equalized = cv2.equalizeHist(image)
Apply histogram equalization on a small 2x2 grayscale image array.
Computer Vision
import cv2
import numpy as np

image = np.array([[50, 80], [90, 100]], dtype='uint8')
equalized = cv2.equalizeHist(image)
Sample Model

This code creates a simple dark image and applies histogram equalization to spread out the brightness levels.

Computer Vision
import cv2
import numpy as np

# Create a simple grayscale image with low contrast
image = np.array([[50, 50, 50, 50],
                  [50, 50, 50, 50],
                  [50, 50, 50, 50],
                  [50, 50, 50, 50]], dtype='uint8')

# Apply histogram equalization
equalized_image = cv2.equalizeHist(image)

print('Original Image:')
print(image)
print('\nEqualized Image:')
print(equalized_image)
OutputSuccess
Important Notes

Histogram equalization works best on grayscale images, not color images directly.

For color images, apply equalization on each color channel separately or convert to a color space like HSV and equalize the brightness channel.

Sometimes, equalization can make noise more visible, so use it carefully.

Summary

Histogram equalization improves image contrast by spreading brightness evenly.

It is useful for making details visible in dark or bright images.

Use OpenCV's cv2.equalizeHist() on grayscale images to apply it easily.