数图笔记之直方图

本文介绍了图像直方图的基本概念,阐述了直方图均衡化的理论,包括其目的、变换函数的性质,并通过示例展示了直方图均衡化的过程。此外,还探讨了直方图在图像增强中的应用,如通过灰度分布概率、平均值和方差来分析图像特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念

  • 图像直方图:数字图像直方图是离散函数 h(rk)=nk\mathcal{h}(r_k)=n_kh(rk)=nk,其中 rkr_krk 是指第 kkk 级灰度,nkn_knk 是图像中灰度级为 rkr_krk 的像素值的个数。若用图像中的每个灰度级对应的 nkn_knk 除以它的像素个数的总数,就是归一化的直方图。一般情况下,若图像的直方图成均匀分布态势,则图像的对比度会较高且有比较丰富的灰度色调
  • 直方图均衡:其目的是使得图像的灰度值分布尽可能地“均匀”的分布到各个级别,从而提高灰度对比,使得图像的视觉效果更好。具体如下实例:
    在这里插入图片描述
  • 局部直方图均衡:将图像分成若干块,对每块单独作均衡处理

直方图均衡化理论证明

找到一个变换函数 s=h(r)s = h(r)s=h(r),使得该函数具有如下性质:

  • 单调递增——目的是为了”可逆/可还原“变换
  • rand(h(r))∈[0,L−1]\text{rand}(h(r)) \in [0, L-1]rand(h(r))[0,L1]

即直方图均衡化的变换函数必须满足上述两个性质

注意到,若变换后的变量 sss 是一个具有均匀概率密度的随机变量时,则意味着有 sss 所生成的图像对应的直方图是均匀分布的,即均衡的。下面就要找到这样一个变换函数。
其实,存在如下变换:(1)s=T(r)=(L−1)∫0rpr(w)dw, s = T(r) = (L-1) \int_0^r{p_r(w)dw},\tag{1} s=T(r)=(L1)0rpr(w)dw(1)
其中 pr(w)p_r(w)pr(w)rrr 的概率密度函数。实质上,该变换函数 TTTrrr 的累积概率分布函数,它一定是满足上述的两个性质的。同时,经过该变换后得到的随机变量 sss,其概率密度函数也必定是均匀分布的。下面证明这一点:


(2)dsdr=dT(r)dr=(L−1)ddr∫0rpr(w)dw=(L−1)pr(r)>0\frac{ds}{dr} = \frac{dT(r)}{dr} = (L - 1) \frac{d}{dr} \int_0^rp_r(w)dw = (L - 1) p_r(r) > 0 \tag{2}drds=drdT(r)=(L1)drd0rpr(w)dw=(L1)pr(r)>0(2)
又由基本概率论可知,对于 pr(r)p_r(r)pr(r)ps(s)p_s(s)ps(s),其各自表示随机变量 rrrsss 的概率密度函数,sss 为变换后的随机变量,rrr 为变换前的随机变量,那么它们具有如下公式:
(3)ps(s)=pr(r)∣drds∣p_s(s) = p_r(r) \left|\frac{dr}{ds}\right| \tag{3}ps(s)=pr(r)dsdr(3)
故将(2)代入(3)可得:
(4)ps(s)=pr(r)∣drds∣=pr(r)∣1(L−1)pr(r)∣=1L−1p_s(s) = p_r(r) \left|\frac{dr}{ds}\right| = p_r(r) \left|\frac{1}{(L - 1)p_r(r)}\right| = \frac{1}{L - 1} \tag{4}ps(s)=pr(r)dsdr=pr(r)(L1)pr(r)1=L11(4)
由(4)可得,sss 是一个具有均匀概率密度的随机变量。这意味着由 sss 生成的图像所对应的直方图是均匀分布的,变换函数 TTT 即为直方图均衡变换函数

以上就是变换函数 TTT 为什么可对直方图进行均衡化处理的理论证明,公式(1)即为连续情况下直方图均衡化的核心公式

直方图均衡化示例

下面举个例子来说明如何对二维离散图像进行直方图均衡化
给定如下 3×3 大小的图像,其灰度级别为 [0,3][0, 3][0,3],即 L=4L = 4L=4
[033123200] \left[\begin{array}{lll} 0 & 3 & 3 \\[.4em] 1 & 2 & 3 \\[.4em] 2 & 0 & 0 \end{array}\right] 012320330
该图像的各个像素值 rrr 对应的概率密度函数 pr(r)p_r(r)pr(r) 为:pr(0)=39,pr(1)=19,pr(2)=29,pr(3)=39p_r(0) = \displaystyle\frac{3}{9}, p_r(1) = \displaystyle\frac{1}{9}, p_r(2) = \displaystyle\frac{2}{9}, p_r(3) = \displaystyle\frac{3}{9}pr(0)=93,pr(1)=91,pr(2)=92,pr(3)=93。所以根据公式(1),其在离散变量下对应的输出像素 sss 为:T(0)=3pr(0)=1,T(1)=3∑i=01pr(i)=43,T(2)=3∑i=02pr(i)=2,T(3)=3∑i=03pr(i)=3T(0) = 3 p_r(0) = 1, T(1) = 3 \displaystyle\sum_{i=0}^1{p_r(i)} = \displaystyle\frac{4}{3}, T(2) = 3 \displaystyle\sum_{i=0}^2{p_r(i)} = 2, T(3) = 3 \displaystyle\sum_{i=0}^3{p_r(i)} = 3T(0)=3pr(0)=1,T(1)=3i=01pr(i)=34T(2)=3i=02pr(i)=2,T(3)=3i=03pr(i)=3,故其均衡化后的输出图像为:
[1334323211] \left[\begin{array}{lll} 1 & 3 & 3 \\[.4em] \displaystyle\frac{4}{3} & 2 & 3 \\[.8em] 2 & 1 & 1 \end{array}\right] 1342321331

在图像增强中使用直方图统计

涉及公式:

  • 图像灰度分布概率:p(ri)=nin,i=1,2,…,L−1p(r_i) = \displaystyle\frac{n_i}{n}, i=1,2,\dots,L-1p(ri)=nni,i=1,2,,L1,其中 nin_ini 表示灰度级为 iii 的像素点个数,nnn 为总的像素点个数
  • 图像灰度平均值:m=∑i=1L−1rip(ri)m = \displaystyle\sum_{i=1}^{L-1}{r_i p(r_i)}m=i=1L1rip(ri) —— 衡量图像整体是偏暗还是偏亮。若该值偏大,则说明偏亮;否则相反
  • 图像灰度方差:μ=∑i=1L−1(ri−m)2p(ri)\mu = \displaystyle\sum_{i=1}^{L-1}{(r_i - m)^2 p(r_i)}μ=i=1L1(rim)2p(ri) —— 衡量图像整体的灰度变化是否明显,即对比度是否高。若该值偏大,则说明对比度高;否则相反

具体应用例子:

  1. 如何判断图像的某个像素点是否处于边缘处?

    取以该像素点为中心的一个领域,统计该领域内所有像素的方差 μ\muμ。若 μ\muμ 偏大,则说明该像素点处于边缘处,否则不是

  2. 如何判断图像的某个像素点是否处于较黑暗处?

    取以该像素点为中心的一个领域,统计该领域内所有像素的均值 mmm。若 mmm 偏小,则说明该像素点处于偏暗处,否则不是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值