以下是Python代码实现:

import cv2
import numpy as np
from matplotlib import pyplot as plt

# 读取图像
img = cv2.imread('lena.jpg', 0)

# 进行灰度直方图均衡化
equ = cv2.equalizeHist(img)

# 计算新的灰度直方图
hist, bins = np.histogram(equ.flatten(), 256, [0, 256])

# 显示原始图像和均衡化后的图像
plt.subplot(121), plt.imshow(img, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(equ, cmap='gray')
plt.title('Equalized Image'), plt.xticks([]), plt.yticks([])

# 显示新的灰度直方图
plt.figure()
plt.hist(equ.flatten(), 256, [0, 256], color='r')
plt.xlim([0, 256])
plt.title('Equalized Histogram')
plt.show()

执行以上代码,会显示原始图像、均衡化后的图像以及新的灰度直方图。

将图像灰度直方图均衡化后并读取新的灰度直方图并显示

原文地址: https://www.cveoy.top/t/topic/bJm9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录