灰度图像增强部分

本篇博客简要介绍线性、分段线性变换和直方图均衡化

灰度变换

空域增强是指在由像素组成的空间直接对像素进行增强的方法,可表示为。
d s t ( x , y ) = T [ s r c ( x , y ) ] dst(x,y) = T[src(x,y)] dst(x,y)=T[src(x,y)]
简单解释下, d s t ( x , y ) dst(x,y) dst(x,y)是增强后的图像, s r c ( x , y ) src(x,y) src(x,y)是增强前的图像,而 T ( ⋅ ) T(\cdot) T()是增强的操作,举个简单的例子, T ( m ) = 2 m T(m)=2m T(m)=2m,就是说把原来的图像的像素值乘以2当作增强后的图像,好理解吧。

灰度线性变换

介绍这个之前,我们先来回忆下,中学阶段学的点斜式方程。
y − y ′ = k ( x − x ′ ) y - y^{\prime}= k(x-x^{\prime}) yy=k(xx)
其中, k 为 斜 率 , ( x ′ , y ′ ) 为 已 知 的 一 点 k为斜率,(x^{\prime},y^{\prime})为已知的一点 k,(x,y)。这个方程,大家应该都懂吧,现在来引入灰度线性变换的方程。

假定原图像 f ( x , y ) f(x,y) f(x,y)的灰度范围为 [ a , b ] [a,b] [a,b],希望变换后图像 g ( x , y ) g(x,y) g(x,y)的灰度范围扩展至 [ c , d ] [c,d] [c,d],直接看图,一下就能看出来了。

image-20201205155329838

斜率为 d − c b − a \frac{d-c}{b-a} badc,用点 ( a , c ) (a,c) (a,c)带入方程得到

g ( x , y ) = d − c b − a [ f ( x , y ) − a ] + c g(x,y)=\frac{d-c}{b-a}[f(x,y)-a]+c g(x,y)=badc[f(x,y)a]+c

分段线性变换

无非就是变成了多条线了,本质跟上面说的完全一样。

image-20201205155826109

图上的三条直线,一条一条的带入点斜式方程,就可以求出表达式了,这边就不重复写了。

直方图均衡化

先说直方图的计算步骤

设大小为 M × N M\times N M×N的图像灰度级为 L L L,则其灰度直方图 p L i s t pList pList可用如下算法得到:

  1. 初始化, p H i s t [ k ] = 0 ; k = 0 , ⋯   , L − 1 pHist[k]=0;k=0,\cdots,L-1 pHist[k]=0k=0,,L1
  2. 统计: p H l i s t [ f ( i , j ) ] + + ; i = 0 , ⋯   , M − 1 ; j = 0 , ⋯   , N − 1 pHlist[f(i,j)]++;i=0,\cdots,M-1;j=0,\cdots,N-1 pHlist[f(i,j)]++i=0,,M1;j=0,,N1
  3. 归一化: p H l i s t [ f ( i , j ) ] M × N \frac{pHlist[f(i,j)]}{M\times N} M×NpHlist[f(i,j)]

数学原理

r r r为灰度变换前的归一化灰度级 ( 0 ≤ r ≤ 1 ) (0\le r\le 1) (0r1) T ( ⋅ ) T(\cdot) T()为变换函数, s = T ( r ) s=T(r) s=T(r)为变换后的归一化灰度级 ( 0 ≤ s ≤ 1 ) (0\le s \le 1) (0s1)


由概率论知识可知,如果已知随机变量 ξ \xi ξ的概率密度函数为 p r ( r ) p_r(r) pr(r),而随机变量 η \eta η ζ \zeta ζ的函数,即 η = T ( ξ ) \eta=T(\xi) η=T(ξ) η \eta η的概率密度为 p s ( s ) p_s(s) ps(s),则可由 p r ( r ) p_r(r) pr(r)求出 p s ( s ) p_s(s) ps(s)。我举个简单的例子,可能就比较好明白了,比如说一颗正常的骰子记作A(得到任何一个点的概率相等,不是赌场里面的哈!!!),它得到的点数用随机变量 ξ \xi ξ来表示;然后另外一颗骰子记作B(得到六个面的概率还是相等,不过点数我们把它全部乘以2,也就是2,4,6,8,10,12这六个点了),它得到的点数用随机变量 η \eta η来表示。

下面来看个具体的例子,比如说A骰子摇到点数 ≤ 4 \le4 4的概率为 2 3 \frac{2}{3} 32,B骰子摇到点数 ≤ 8 \le8 8的点数当然也是 2 3 \frac{2}{3} 32啦。

因此就能比较好理解如下的公式了:
F η ( s ) = P ( η < s ) = ∫ − ∞ s p s ( x ) d x = P ( ξ < r ) = ∫ − ∞ r p r ( x ) d x F_{\eta}(s)=P(\eta <s)=\int_{-\infty}^sp_s(x)dx = P(\xi<r)=\int_{-\infty}^rp_r(x)dx Fη(s)=P(η<s)=sps(x)dx=P(ξ<r)=rpr(x)dx
这个公式很好理解吧,s就是上面例子中的8,r就是上面例子中的4。对上式中的两边求导得到:
p s ( s ) = [ p r ( r ) ⋅ d r   d s ] r = τ − 1 ( s ) (3-9) p_{s}(s)=\left[p_{r}(r) \cdot \frac{\mathrm{d} r}{\mathrm{~d} s}\right]_{r=\tau^{-1}(s)} \tag{3-9} ps(s)=[pr(r) dsdr]r=τ1(s)(3-9)
若要使变换后的图像灰度 s s s 为均匀分布,即有 p s ( s ) = 1 , p_{s}(s)=1, ps(s)=1, 代人 ( 3 − 9 ) (3-9) (39) 式可得 d s = \mathrm{d} s= ds= p r ( r ) d r , p_{r}(r) \mathrm{d} r, pr(r)dr, 对其两边积分可得到变换函数 T ( r ) T(r) T(r)
T ( r ) = s = ∫ 0 r p r ( ω ) d ω T(r)=s=\int_{0}^{r} p_{r}(\omega) \mathrm{d} \omega T(r)=s=0rpr(ω)dω
最后再解释下书上的一个表格:

image-20201205223343056
  1. k表示的是序号,没啥大作用
  2. r k r_k rk表示的是原来的灰度级
  3. n k n_k nk表示的是等于这个灰度级的个数有几个
  4. p r ( r k ) p_r(r_k) pr(rk)表示的是这个灰度级出现的频率,就是 n k n_k nk除以总数了
  5. s k = T ( r k ) s_k=T(r_k) sk=T(rk)简单理解为累积分布函数
  6. 将得到的 s k s_k sk映射为原来的灰度范围
  7. 表示从哪个灰度级变换后,得到哪个灰度级
  8. 表示变换后的灰度级在全部灰度级中,出现的概率,看到其中有的为0,说明那个灰度级没有出现过。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值