[数字图像处理] 直方图均衡化

Posted vincentcheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数字图像处理] 直方图均衡化相关的知识,希望对你有一定的参考价值。

全局直方图均衡化

直方图均衡化通过调整图像的直方图来增强图像的对比度,经常使用在医学图像分析中。

技术分享图片

 例如一幅8*8图像像素值如下:

技术分享图片

对各个像素值进行计数:

技术分享图片

得到累计概率分布:

技术分享图片

其中均衡化后的像素值计算公式为:

技术分享图片

前面的标题全局直方图均衡化,代表着直方图在整个图像计算,这样会有一个缺点,图像的部分区域会显得过暗或者过亮。这个时候就需要使用自适应直方图均衡化(Adaptive histogram equalization)。自适应直方图均衡化,首先将图像分为几个部分,然后对每个部分分别计算直方图进行均衡化,同时对边缘像素进行插值处理。由图中可以看出自适应直方图均衡化对高亮区域的处理要比常规的直方图均衡化好的多。

 1 import os
 2 from PIL import Image
 3 from skimage import exposure
 4 import numpy as np
 5 import matplotlib.pyplot as plt
 6 
 7 
 8 img = Image.open(/home/vincent/Pictures/work/Unequalized_Hawkes_Bay_NZ.jpg)
 9 img = np.array(img)
10 img_eq = exposure.equalize_hist(img)
11 img_adapteq = exposure.equalize_adapthist(img, clip_limit=0.04)
12 
13 plt.figure(0)
14 plt.imshow(img)
15 plt.title(low contrast image)
16 plt.figure(1)
17 plt.imshow(img_eq)
18 plt.title(high constrast image using normal histogram equalization)
19 plt.figure(2)
20 plt.imshow(img_adapteq)
21 plt.title(high constract image using adaptive histogram euqalization)
22 plt.show()

 

以上是关于[数字图像处理] 直方图均衡化的主要内容,如果未能解决你的问题,请参考以下文章

数字图像处理:直方图均衡化

[数字图像处理] 直方图均衡化

数字图像处理之直方图均衡

《数字图像处理》直方图均衡学习总结+感悟

[数字图像处理]灰度直方图均衡化

数字图像处理:OpenCV直方图均衡算法研究及模拟实现