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源码
最新推荐文章于 2024-05-17 05:51:00 发布