import cv2
# 读入数据
img_path = "f:/temp/car.jpg"
img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
# 生成灰度直方统计图
graystatic = [0 for i in range(256)]
width,height = np.shape(img)
for i in range(width):
for j in range(height):
graystatic[img[i,j]]+=1
gyh = [i/(width*height) for i in graystatic]
# 得到cdf数据
cdf = gyh
for i in range(1, 256):
cdf[i] = cdf[i] + cdf[i-1]
# 直方图均衡化转换
imgt = np.copy(img)
for i in range(width):
for j in range(height):
imgt[i,j] = img[i,j]*cdf[img[i,j]]
cv2.imshow("bs",img)
cv2.imshow("imgt", imgt)
cv2.waitKey(0)
直方图均衡化算法,超级简单的Python源码
最新推荐文章于 2025-11-25 13:44:16 发布
本文介绍了一种基于Python OpenCV库实现的灰度图像直方图均衡化方法。通过对图像进行灰度级统计并计算累积分布函数(CDF),实现了图像对比度的增强。该文展示了从读取原始图像到生成均衡化后的图像全过程。

289

被折叠的 条评论
为什么被折叠?



