玩转直方图处理之直方图均衡化、规定化

冒泡....双十一刚过~购物狂欢完还是要收心学习鸭!今天来说一说直方图。

直方图

定义:

直方图是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。如以下:

直方图示例.png

由图像可以得到的一些直方图的性质:

a.图形直观可以发现它首先是一个一维离散函数图像
b.直方图表示一幅图像中不同灰度像素出现的统计信息,它只能反映该图像中不同灰度值出现的频数(概率),而不能表示出像素的位置等其他信息
c.任何一幅特定的图像都有唯一的直方图与之对应,但不同的图像可以有相同的直方图。

根据直方图的形态可以大致推断图像质量的好坏。由于图像包含有大量像元,其像元灰度值分布应符合概率统计分布规律。假定像元的灰度值是随机分布,那么其直方图应该是正态分布。

image.png

直方图的均衡化

直方图均衡化是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。
image.png
image.png

接下来就推导一下均衡化的过程:
首先考虑连续的灰度值,用变量 r 表示输入图像的灰度,用 s 表示输出图像的灰度。r 范围是 [ 0, L-1],则函数: s = T(r), r 的范围:[0 , L-1] (0为全黑,L-1为全白)。
T(r)满足下列两个条件:
1.T(r)在区间0≤r≤1中为 严格单调递增函数,保证原图各灰度级在变换后仍保持从黑 到白(或从白到黑)的排列次序)
2.当0≤r≤1时,0≤T(r) ≤1,保证变换前后灰度值动态范围的一致性。
在处理的过程中需要引入重要的变换函数:

image.png
其中:

根据学过的概率论可知:
image.png

所以可以得到如下过程:
image.png

最后可以发现:得到ps(s)是一个均匀的概率密度函数,与pr(r)无关
对于离散值,我们处理其概率(直方图值)与求和来替代处理概率密度函数与积分。因此,一幅数字图像中灰度级出现的概率(近似)和离散变换形式如下:

iMN为图像的总像素

接下来举例说明:
image.png

1.第一步利用变换公式求出s
image.png

2.把S的值化为近似的整数
s0 = 1.33≈1 ;s1 =3.08≈3 ;s2= 4.05≈4 ;
s3 = 5.67≈6 ;s4 =6.23≈6 ;s5 = 6.66≈7;
s6= 6.86≈7 ;s7 = 7.00≈7 ;
近似完之后,发现剩下1、3、4、6、7这五个不同的灰度级
(r0=0被映射为S0=1)
3.接下来就统计新的输出的灰度的相关参数
注意:sk=6的为s3和s4故nk是两个的叠加,p(sk)的值为nk/MN(4096)

作图直观:
image.png

Matlab代码参考

I = imread('rice.png');
[height,width] = size(I);
figure
subplot(221)
imshow(I)%显示原始图像
subplot(222)
imhist(I)%显示原始图像直方图
 
%进行像素灰度统计;
NumPixel = zeros(1,256);%统计各灰度数目,共256个灰度级
for i = 1:height
    for j = 1: width
        NumPixel(I(i,j) + 1) = NumPixel(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一
    end
end
%计算灰度分布密度
ProbPixel = zeros(1,256);
for i = 1:256
    ProbPixel(i) = NumPixel(i) / (height * width * 1.0);
end
%计算累计直方图分布
CumuPixel = zeros(1,256);
for i = 1:256
    if i == 1
        CumuPixel(i) = ProbPixel(i);
    else
        CumuPixel(i) = CumuPixel(i - 1) + ProbPixel(i);
    end
end
%累计分布取整
CumuPixel = uint8(255 .* CumuPixel + 0.5);
%对灰度值进行映射(均衡化)
for i = 1:height
    for j = 1: width
        I(i,j) = CumuPixel(I(i,j));
    end
end
 
subplot(223)
imshow(I)%显示原始图像
subplot(224)
imhist(I)%显示原始图像直方图

直方图的规定化

从文字就可以看出,规定化就是把直方图转化为既定的规定化的形状。
过程如下:
先设 Pr(r)和Pz(z)分别表示原始灰度图像和目标图像的灰度分布概率密度函数.根据直方图规 定化的特点与要求,应使原始图像的直方图具有Pz(z)所表示的形状。因此建立Pr(r)和 Pz(z)之间的关系是直方图规定化必须解决的问题。



离散表达形式:

接下来举个例子说明:
image.png

第一步:要先根据图a提供的直方图求出输出之后均衡的值

公式参考:

求得完成后取近似值
s0 = 1.33≈1 ;s1 =3.08≈3 ;s2= 4.05≈4 ;

s3 = 5.67≈6 ;s4 =6.23≈6 ;s5 = 6.66≈7;
s6= 6.86≈7 ;s7 = 7.00≈7 ;
第二步:求变换函数G的所有值

参考公式如下:
image.png

过程如下:
image.png

再将求好的换成近似值
G(z0)≈0;G(z1)≈0;G(z2)≈0;
G(z3)≈1;G(z4)≈2;G(z5)≈5;
G(z6)≈6;G(z7)≈7;
第三步:寻找组射关系
根据刚刚两步的计算,可以发现G(z3)≈1,s0≈1,这种情况下就是一个完美的匹配了,也就是从s0→z3

因此可以列表
image.png

然后可以求出相应的概率,比如S=1映射到Z=3,790个像素为1,概率为790/4096=0.19.具体如下:
image.png

说明:和上一题联系
Pz(z=4)相当于Pr(r=1)
Pz(z=5)相当于Pr(r=2)--S=5映射到Z=5
Pz(z=6)相当于Pr(r=3)+Pr(r=4)
Pz(z=7)相当于Pr(r=5)+Pr(r=6)+Pr(r=7)
图形直观:
image.png

虽然没有完全匹配,但是也达到了将灰度明确移动到灰度级高端。

参考资料:(https://blog.csdn.net/u013355826/article/details/57417771
https://blog.csdn.net/taoyanqi8932/article/details/52758376
https://blog.csdn.net/xiajun07061225/article/details/6910129

Ending 不容易地收尾啦~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容