当前位置:文档之家› 实验四 图像的直方图修正

实验四 图像的直方图修正

的灰度级数目,缺省值为256;
imhist(X, map);%计算和显示索引色图像X的直方图,
map为调 色板;
[counts, x]=imhist(…)%返回直方图数据向量counts和
相应的色彩值向量x,用stem(x, counts) 同样可以显示直方图。
【例】 显示灰度图像‘cameraman.tif’的直方图。
j 0 j 0
k
k
nj N
(5)将sk按照原来的量化值,取最近的进行量化sk→r, 将像素数带入,得到新的灰度级及分布。
实例
假设一幅64×64,8bit灰度图像,其概率分布见下
表,试对其进行直方图均衡化处理。 rk nk Pr(rk)=nk/n
r0=0
r1=1/7 r2=2/7 r3=3/7 r4=4/7 r5=5/7 r6=6/7 r7=1
3500
3000
2500
2000
1500
1000
500
0
20ቤተ መጻሕፍቲ ባይዱ
40
60
80
100
120
2 imadjust函数
调用格式:J=imadjust(I,[low high],[bottom top],gamma) 说明:J为图像I调整后返回的图像,[low high]为原图像
的灰度范围,[bottom top]为指定变换后的灰度范
790
1023 850 656 329 245 122 81
0.19
0.25 0.21 0.16 0.08 0.06 0.03 0.02
*重新命名sk,归并相同灰度级的象素数 rk r0=0 r2=2/7=0.29 r3=3/7=0.43 r4=4/7=0.57 r5=5/7=0.71 r6=6/7=0.86 r7=1 nk 790 850 656 329 245 122 81 Pr(rk) Sk计算 0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02 0.19 0.44 0.65 0.81 0.89 0.95 0.98 1.00 Sk舍入 1/7=0.14 3/7=0.43 5/7=0.71 6/7=0.86 6/7=0.86 1 1 1 S3 985 0.24 Sk S0 S1 S2 nsk 790 1023 850 P(sk) 0.19 0.25 0.21
subplot(121), imshow(I);
subplot(122), imshow(J);
figure, subplot(121), imhist(I);
subplot(122), imhist(J);
1600 1400 1200 1000 800 600 400 200 0 0 100 200
k 1
图像的直方图
灰度图像的直方图
2 直方图的计算
设r表示图像中像素的灰度级,可以用概率密度函数P(rk)
P(rk ) nk / N
N:图像中像素的总数;nk:第k级灰度的像素数;
rk:第k级灰度; P(rk):灰度rk出现的概率。
直方图提供了原图的灰度值分布情况,给出了一幅
3 直方图修正
数为L个。
(2)统计各灰度级像素数目nk, k=0,2,…,L-1。
(3)计算 rk出现的频率
nk Pr (rk ) N
(0 rk 1; k 0,1,...,L 1)
其中,N为数字图像的总像素数。
(4)对其进行均衡化处理的变换函数为
sk T (rk ) Pr (rj )
4.3.3 直方图均衡化
1. 概念 直方图均衡化(Histogram equalization)也叫
做直方图均匀化,把原始图像的直方图变换为均
匀分布的形式,增加像素灰度值的动态范围,从
而达到增强图像整体对比度的效果。
直方图均衡化示意图
2. 直方图均衡化的过程
(1)列出原始图像的灰度级rk,k=0,2,…,L-1,灰度级总
1600 1400 1200 1000 800 600 400 200 0 0 100 200
3. histeq函数 △ 功能:直方图均衡化。 △ 格式:J=histeq(I, n),指定均衡化后灰度级数
n,缺省为64;
【例】对图像′tire.tif′做直方图均衡化,结果见
下页图。
I = imread(′tire.tif′);
I=imread(‘cameraman.tif’);
subplot(1,2,1),imshow(I)
subplot(1,2,2),imhist(I);
【例】显示索引图像的直方图。
clf;load trees;
subplot(121);imshow(X,map);
subplot(122);imhist(X,map);
围,gamma为校正量。 ●不管X是什么数据,[low high],[bottom top]均为0到1之
间的数;
● gamma=1为线性变换; gamma<1为非线性变换,灰度增大; gamma>1为非线性变换,灰度变小。
【例】调整图像的对比度,调整前后的图像见下页图。 clear all; I=imread('pout.tif'); J=imadjust(I,[0.3 0.7],[]);
J = histeq(I); subplot(1,2,1),imshow(I) subplot(1,2,2),imshow(J) figure, subplot(1,2,1),imhist(I,64) subplot(1,2,2), imhist(J,64)
实验四 直方图修正
直方图修正法
1. 直方图(Histogram )的概念
设图像的灰度范围为[a,b],r为此灰度范围内的任一灰度
级,p(r)为这幅图像中灰度级为r的象素出现的频率,p(r)函
数的图形称为这幅图像的直方图。
灰度为ri的象素数 p(ri ) 图像上的总象素数
p(r ) 1
i 0 i
原因
大多数自然图像,其灰度分布集中在较窄的 区间,引起图像细节不够清晰,例如一幅过曝光 的图片,其灰度级都集中在高亮度范围内,而曝 光不足的图片,其灰度级集中在低亮度范围内, 具有这样直方图的图片其可视效果比较差。 采用直方图修正后可增大图像的反差,使图 像细节清晰,达到增强的目的。
修正方法
直方图均衡化 把原始图的直方图变换为均匀分布的形式, 此时图像的熵最大,图像所包含的信息量 最大。
r1=1/7=0.14 1023
S4
448
0.11
*均衡化前后直方图比较
直方图均衡化
实质:像素少的几个灰度 级归并到一个上,像素多 的灰度级间隔被拉大 仅存5个灰级,层次减少,对比度提高。
直方图均衡化的Matlab实现
1. imhist函数

△ 格式:imhist(I, n);%计算和显示灰度图像I的直方图,n为指定
相关主题