当前位置:   article > 正文

图像增强:自适应直方图均衡化(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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

效果展示

处理前

在这里插入图片描述

处理后

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/78867
推荐阅读
相关标签
  

闽ICP备14008679号