其他分享
首页 > 其他分享> > 图像增强:自适应直方图均衡化(AHE)

图像增强:自适应直方图均衡化(AHE)

作者:互联网

文章目录

算法简介

自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术。和普通的直方图均衡算法不同,AHE算法通过计算图像的局部直方图,然后重新分布亮度来改变图像对比度。因此即使在比大多数图像更暗或更亮的区域,也可以增强局部细节

代码实现

# 自适应直方图均衡化(AHE)
from skimage import exposure
file_to_open = '/content/Rust_032.jpg'
img2 = io.imread(file_to_open)
plt.figure()
plt.imshow(img2)
plt.show()

img = exposure.equalize_adapthist(img2)
im = Image.fromarray(np.uint8(img * 255))
im.save('/content/02.jpg')
plt.figure()
plt.imshow(img)
plt.show()
import cv2
import matplotlib.pyplot as plt
from google.colab.patches import cv2_imshow
import numpy as np
#用直方图分别统计图像各个像素三个颜色通道数值数量的分布
img = cv2.imread('/content/Rust_032.jpg')
cv2_imshow(img)
color = ('blue','green','red')
#enumerate函数第一个返回索引index,第二个返回元素element
for i,color in enumerate(color):
    #参数说明:
    #一、images(输入图像)参数必须用方括号括起来。
    #二、计算直方图的通道。
    #三、Mask(掩膜),一般用None,表示处理整幅图像。
    #四、histSize,表示这个直方图分成多少份(即多少个直方柱)。
    #五、range,直方图中各个像素的值,[0.0, 256.0]表示直方图能表示像素值从0.0到256的像素。
    hist = cv2.calcHist([img],[i],None,[256],[0,256])
    plt.plot(hist,color = color)
    plt.xlim([0,256])
plt.show()
cv2.waitKey()

效果展示

处理前

在这里插入图片描述
在这里插入图片描述

处理后

在这里插入图片描述
在这里插入图片描述

标签:plt,img,color,均衡化,cv2,直方图,import,图像增强
来源: https://blog.csdn.net/qq_40002420/article/details/119855405