第4讲 直方图 图像增强
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r0 0 z3 3 / 7 r1 1 / 7 z4 4 / 7 r2 2 / 7 z5 5 / 7 r3 3 / 7 z6 6 / 7
r4 4 / 7 z6 6 / 7 r5 5 / 7 z7 1 r6 6 / 7 z7 1 r7 1 z7 1
0 rk 1 k 0,1,2,, l 1
式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数, 而nk/n即为频数
1 1 6 1 3 1 1 2 4 6 4 4 3 3 3 6 5 6 6 4 5 2 2 4 6 6 6 6 2 4 6 6 1 6 6 3 6 5 2 4 3 5 4 6 5 2 6 14
3 直方图的性质
①灰度直方图只能反映图像的灰度分布情况,而不能反 映图像像素的位置,即空间信息丢失。 ②一幅图像对应唯一的灰度直方图,不同的图像可对应 相同的直方图。
去除灰度为255部分的直方图
③一幅图像分成多个区域,多个区域的直方图之和即为 原图像的直方图
图像的直方图H(i) 直方图H2(i)
图像增强所包含的主要内容:
灰度变换 均衡化 点运算 直方图修正法 规定化 空间域 局部统计法 图像平滑 局部运算 图像锐化 图像增强 高通滤波 频率域低通滤波 同态滤波增强 假彩色增强 彩色增强伪彩色增强 彩色变换及应用 图像的代数运算
原图像的直方图
规定的直方图
规定化后图像的直方图
?
若在原图像一行上连续8个像素的灰度值分别为:0、1、 2、3、4、5、6、7,则规定化后,他们的灰度值为多少? 利用直方图规定化方法进行图像增强的主要困难在于 要构成有意义的直方图。图像经直方图规定化,其增强效 果要有利于人的视觉判读或便于机器识别。
L的数组H初始化为0
2.形成图像直方图:扫描每个像素相加相应的H
H[i]=H[i]十1
3.形成累积图像直方图: S[i]=S[i-1]十H[i] 4.设置T[p]=round (L-1)/(MXN) S[p] 5.重新扫描图像,得到一个具有灰度级的输出图像,设置 g[p]=T[p]
long int Num=EndPoint.y-StartPoint.y+1; Num*=(EndPoint.x-StartPoint.x+1); for(k=1;k<256;k++) Hist[k]+=Hist[k-1]; for (int i = StartPoint.y; i <=EndPoint.y; i ++){ lpSrc = (unsigned char *)pDoc->m_pDib->m_lpImage +
②按照希望得到的图像的灰度概率密度函数 pz(z),求得变换函数G(z); ③用步骤①得到的灰度级s作逆变换z= G-1(s)。
规定化示例
采用与直方图均衡相同的原始图像数据(64×64像素 且具有8级灰度)
原图像的直方图
规定化直方图
rj →sk
nk
ps(sk)
zk
pz(zk)
vk
zk并
nk
pz(zk)
// Histogram
Hist[*lpSrc]++;lpSrc++; }
}
Lena图像及直方图 (a) Lena图像;(b) Lena图像的直方图
图像灰度级的分布可以看出一幅图像的灰度分布特性
较暗,曝 光过强 偏亮,曝 光太弱
(a)的大多数像素灰度值取在较暗的区域,较暗,曝光过强; (b)图像的像素灰度值集中在亮区,偏亮,曝光太弱。
pr(r) 2 1.0 0.8 1 0.6 0.4 0.2 0 1 2 r
s=T(r) 1.0 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1.0 r
pr(s)
0 0.2 0.4 0.6 0.8 1.0 r
(a)
(b)
(c)
(2) 离散形式的变换函数 总像素为n,l 个灰度级;
(a)
(b)
(c)
1 s0 , 7 6 s4 , 7
3 s1 , 7 s5 1,
5 s2 , 7 s6 1,
6 s3 7 s7 1
直方图均衡化示例
Lena图像
及 直方图
经直方图均衡化后的Lena图像及直方图
算法: 1. 对于L个灰度级(一般256)大小为M×N的图像,创建一个长为
rk nk pr(rk)=nk/n sk计 sk并 sk nsk pk(s)
r0=0
r1=1/7 r2=2/7
790
1023
0.19
0.25 0.21
0.19
0.44 0.65
1/7
3/7 5/7
s0=1/7
s1=3/7 s2=5/7
790
1023
0.19
0.25 0.21
850
850
r3=3/7
r4=4/7 r5=5/7 r6=6/7 r7=1
二、直方图(Histogram)
1 直方图的基本概念 灰度直方图是灰度级的函数,它表示图像中具有 某种灰度级的像素的个数。灰度直方图反映的是一幅图像中 各灰度级像素出现的频率 ,是图像最基本的统计特征。 该灰度级 出现的频 度
灰度级r
一幅图像的灰度直方图
2 灰度直方图的计算
nk pr ( rk ) n
第四讲
图像增强的直方图修改技术
•直方图 •直方图均衡化 •直方图规定化
一、图像增强概述
图像增强:采用一系列技术去改善图像的视觉效果,或将 图像转换成一种更适合于人或机器进行分析和处理 的形式。 如: 有选择地突出某些感兴趣的信息, 同时抑制一些不需要的信息,提高图像的使用价值。 图像增强方法从增强的作用域出发,可分为: 空间域增强:直接对图像各像素进行处理; 频率域增强:将图像经傅立叶变换后的频谱成分 进行处理,然后逆傅立叶变换获得所需的图像。
i 0
L1
上式Pi是图像灰度级为i的像素出现的频率,图像的灰度范 围在[0,L-1]
三、直方图修正法图像增强
1 直方ห้องสมุดไป่ตู้修正技术基础
直方图修正技术: 对于一幅已知灰 度概率分布的图像, 将其像素灰度作某种 映射变换,使之变成 一幅具有特定灰度概 率分布的新图像的过 程。 如何根据已知图 像的灰度概率分布选 取灰度映射变换函数, 是直方图处理技术的 核心问题。
z3=3/7
z4=4/7 z5=5/7 z6=6/7 1
0.15
0.20 0.30 0.20 0.15
0.15
0.35 0.65 0.85 1.00
z3→s0=1/7
790
0.19
z4→s1=3/7 1023 0.25 z5→s2=5/7 z6→s3=6/7 z7→s4=1 850 985 448 0.21 0.24 0.11
= 区域Ⅰ的直方图H1(i) + 区域Ⅱ的
概率分布函数
• 积分灰度直方图可以得到图象的面积:
0
H ( P)dP 图象的面积
• 通过除以图象的面积来归一化灰度图象的概率密度函 数(PDF)--与图象本身的象素个数无关。 • 对面积函数进行同样的归一化处理可得到图象的累积 分布函数(CDF)
4 直方图的应用
2、直方图均衡化
(1)基本思路
直方图均衡化: 将原图像通过某种变换,得到一幅灰度直 方图为均匀分布的新图像的方法。
基础:累积分布函数变换法。 结论:以积累分布函数
r
s T (r ) pr ( )d
0
作为变换函数可产生一灰度分布具有均匀概率密度的图像。 上式表明,当变换函数为r的累积直方图函数时,能达到 直方图均衡化的目的。
s T (r ) pr ( )d
0
r
假定已得到了所希望的图像,对它也进行均衡化处理
v G( z ) pz ( )d
0
z
G( z ) T (r )
z G [T (r )] G (s)
直方图规定化增强处理的步骤如下: ①对原始图像作直方图均衡化处理;
1
1
}
}
3、直方图规定化
直方图规定化:使原图像灰度直方图变成规定形状的直方图 , 是 对直方图均衡化处理的一种有效的扩展。 (1)基本思路 :将原图像和希望得到的图像(仅灰度分布密度不 同)分别作均衡化处理后,应具有相同的均匀密度。 假设pr(r)和pz(z)分别表示已归一化的原始图像灰度分布的概 率密度函数和希望得到的图像的概率密度函数。 对原始图像进行直方图均衡化
pr (rk )
rk
int Hist[256]; for(int k=0;k<256;k++) Hist[k]=0;
unsigned char *lpSrc;
for (int i = StartPoint.y; i <=EndPoint.y; i ++) {lpSrc = (unsigned char *)pDoc->m_pDib->m_lpImage + lLineBytes* (lHeight-1-i) +StartPoint.x; for (int j =StartPoint.x; j <=EndPoint.x; j ++){
lLineBytes* (lHeight-1-i) + StartPoint.x;
for (int j =StartPoint.x; j <=EndPoint.x; j ++) { // Histogram equalization变换 *lpSrc=(unsigned char)(255*Hist[*lpSrc]/Num); lpSrc++;
①用于判断图像量化是否恰当
(a) 恰当量化 (b) 未能有效利用动态范围,对比度低 超过了动态范围,信息丢失
(c)
观察直方图可以看出不合适的数字化
(a) Dark Image
(b) Bright Image
(d) High-Contrast Image
②用于确定图像二值化的阈值
0 g ( x, y ) 1
pr(rk ) 0.25 0.20 0.15 0.10 0.05 0
1 2 3 4 5 6 1 rk 7 7 7 7 7 7
sk 1.0 0.8 0.6 0.4 0.2 0 1 2 3 4 5 6 1 7 7 7 7 7 7 rk
ps(sk)
0.25 0.20 0.15 0.10 0.05
0
1 2 3 4 5 6 1 s k 7 7 7 7 7 7
f ( x, y ) T f ( x, y ) T
选取146为阀值点的二值化
③当物体部分的灰度值比其它部分灰度值大时,可利用 直方图统计图像中物体的面积。
n vi
i T
式中n为图像像素总数,vi是图像灰度级为i的像素出现的频率 ④ 计算图像信息量H(熵 )
H Pi log2 Pi
r0→s0=1/7
790
0.19
0.25 0.21
z0=0
z1=1/7 z2=2/7
0.00
0.00 0.00
0.00
0.00 0.00
z0
z1 z2
0
0 0
0.00
0.00 0.00
r1→s1=3/7 1023 r2→s2=5/7 850
r3→s3=6/7
r4→s3=6/7 r5→s4=1 r6→s4=1 r7→s4=1 448 0.11 985 0.24
656
329 245 122 81
0.16
0.08 0.06 0.03 0.02
0.81
0.89 0.95 0.98 1.00
6/7
6/7 1 1 1 s4=1 448 0.11 s3=6/7 985 0.24
?
若在原图像一行上连续8个像素的灰度值分别为:0、1、 2、3、4、5、6、7,则均衡后,他们的灰度值为多少?
nk pr (rk ) n
0 rk 1 k 0,1,, l 1
sk T (rk )
j 0
k
nj n
pr (rj )
j 0
k
0 rj 1
k 0,1,, l 1
上式表明,均衡后各像素的灰度值sk可直接由原图像 的直方图算出。
例 假定有一幅总像素为n=64×64的图像,灰度级数为8,各灰 度级分布列于表中。对其均衡化计算过程如下:
选择灰度映射函数的基本原则
即 设r、s分别代表原始图像和变换后图像灰度(已规一化), 0 ≤ r ≤ 1
式中,r=0, 黑(暗);r=1,白(亮)。 对于[0, 1]区间内任一个r值,作映射变换: s=T(r) 要求由此映射变换函数满足如下条件: ①在0 ≤ r ≤ 1内为单调递增函数,保证灰度级从黑到 白的次序不变; ②在 0 ≤ r ≤ 1 内,有 0 ≤ T(r) ≤ 1 ,确保映射后的 像素灰度在允许的范围内。 反变换关系为 r=T-1(s) T-1(s) 同样满足上述原则。