You are on page 1of 2

import cv2

import numpy as np
import matplotlib.pyplot as plt

# Load the sample image


image_path = '/content/image.jpg'
original_image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)

if original_image is None:
print("Error: Unable to load the image.")
exit()

# Function to display images and histograms


def display_histogram(image):
plt.figure(figsize=(12, 6))

# Plot original image


plt.subplot(2, 2, 1)
plt.imshow(image, cmap='gray')
plt.title('Original Image')
plt.axis('off')

# Plot histogram of original image


plt.subplot(2, 2, 2)
plt.hist(image.ravel(), 256, [0, 256])
plt.title('Original Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')

# Perform histogram equalization


equalized_image = cv2.equalizeHist(image)

# Plot histogram of equalized image


plt.subplot(2, 2, 3)
plt.hist(equalized_image.ravel(), 256, [0, 256])
plt.title('Equalized Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')

# Plot equalized image


plt.subplot(2, 2, 4)
plt.imshow(equalized_image, cmap='gray')
plt.title('Equalized Image')
plt.axis('off')

plt.tight_layout()
plt.show()

# Display original image and histograms


display_histogram(original_image)

You might also like