以下是Python代码示例,使用OpenCV库实现图像的灰度直方图均衡化:

import cv2

# 读取图像
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)

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

# 显示原图和均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)

# 绘制原图和均衡化后的灰度直方图
hist, bins = np.histogram(img.flatten(), 256, [0, 256])
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
plt.plot(cdf_normalized, color='b')
plt.hist(img.flatten(), 256, [0, 256], color='r')
plt.xlim([0, 256])
plt.legend(('cdf', 'histogram'), loc='upper left')
plt.show()

hist, bins = np.histogram(equ.flatten(), 256, [0, 256])
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
plt.plot(cdf_normalized, color='b')
plt.hist(equ.flatten(), 256, [0, 256], color='r')
plt.xlim([0, 256])
plt.legend(('cdf', 'histogram'), loc='upper left')
plt.show()

cv2.waitKey(0)
cv2.destroyAllWindows()

注意:要使用Matplotlib库绘制灰度直方图,需要在代码中导入该库。

将图像灰度直方图均衡化后得到新的灰度直方图的python代码

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

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