zoukankan      html  css  js  c++  java
  • 【数字图像处理】直方图均衡化

    全局直方图均衡化

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

     例如一幅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()
  • 相关阅读:
    算法设计--求连续子向量的最大和问题--论想法思路的重要性
    --a和a--
    程序员一个知道的一些法则
    django admin
    Python递归
    Python内置函数
    Python协程函数
    Python 生成器
    Python迭代器
    Python装饰器
  • 原文地址:https://www.cnblogs.com/vincentcheng/p/9240285.html
Copyright © 2011-2022 走看看