图像增强之(一)---直方图均衡化

直方图均衡化又称为灰度均衡化,是指通过某种灰度映射使输入图像转换为在每一灰度级上有近似相同的像素点的输出图像。在经过均衡化处理后的图像中,像素将尽可能占尽可能多的灰度级并且均匀分布。

对于一般的灰度图片来说,灰度级变化范围为0~255.为了计算方便,将灰度范围变为0~1,且连续,连续这个地方一定要注意,这意味着讨论某一个特定灰度级的出现概率是没意义的,这个过程称之为直方图归一化。

归一化前的直方图:对应像素的出现次数

归一化后:

这样经过归一化就能得到对应像素的出现频率

50 : 3/6 = 50%

100: 2/6 = 33.3%

200: 1/6 = 16.7%

说明:就是将源图像的信息用相应于直方图的另外一种形式体现出来 - 出现频率(即是归一化后的结果)

归一化后的直方图其实就是一个概率密度函数(probability density function)。

具有如下性质:

设:转换前图像的PDF为:pr(r)。

转换前图像的PDF为:ps(s)。

映射关系为:s = f(r)

r、s分别代表均衡化前后的灰度值,r,s∈[0,1]。

由概率论知识:

至于这个公式是怎么来的,很多书本以及文章都是一笔带过,或许是觉得太简单而懒得解释,反正我是没有在《概率论》中找到过这个公式。

来推导一下:

注意区分大小写:P(r)概率,p(r)概率密度函数。

这个公式是因为,灰度s是由灰度r映射过来的,而映射前后他们两个的数量的相等的,到这里了,也许你就明白了,上面的公式就是表示映射前后的数量相等。于是得到公式(1).

均匀分布的概率密度函数:

对于一个取值在区间[a,b]上的均匀分布函数,它的概率密度函数:

有了这样一个公式,我们可以得出均衡化后的概率密度函数为:

在结合公式(1),得到:

等式两边同时积分:

该式称为图像的累积分布函数,也就是概率论中概率分布函数。

扩展到255灰度级,得灰度均衡的转换公式:

其中:DB为转换后的灰度值,DA为转换前的灰度值,Dmax = 255.

对于离散灰度级:

其中:Hi为第i级灰度的像素个数,A0为图像的面积。

时间: 2024-10-11 21:53:28

图像增强之(一)---直方图均衡化的相关文章

【OpenCV】图像增强---灰度变换、直方图均衡化

图像增强的目的:改善图像的视觉效果或使图像更适合于人或机器的分析处理.通过图像增强,可以减少图像噪声,提高目标与背景的对比度,也可以增强或抑制图像中的某些细节.  --------------------------------------------------------------------------------------------------- 灰度变换:把原图像的像素灰度经过某个函数变换成新图像的灰度.可分为直线灰度变换法和直方图修正法. 直线灰度变换法:线性.分段线性.非线性

数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)

我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是  是图像中全部的灰度数, 是图像中全部的像素数,  实际上是图像的直方图,归一化到 . 把  作为相应于  的累计概率函数, 定义为:  是图像的累计归一化直方图. 我们创建一个形式为  的变化,对于原始图像中的每一个值它就产生一个 ,这样  的累计概率函数就能够在全部值范围内进行线性化,转换公式定义为: 注意 T 将不同的等级映射到  域.为了将这些值映射回它们最初的域,须要在结果上应用以下的简单变换: 上面描写

灰度图像--图像增强 直方图均衡化(Histogram equalization)

学习DIP第38天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意.有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!! 文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

OpenCV——直方图均衡化(用于图像增强)

1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 #include <math.h> 4 5 using namespace cv; 6 using namespace std; 7 8 9 int main(int argc, char** argv) 10 { 11 Mat src,src_gray,dst; 12 //src = imread("3 input.bmp"); 13 s

直方图均衡化算法实现

直方图 直方图(histogram)是灰度级的函数,它表示图像中具有每种灰度级的像素的个数, 反映原图中各种灰度值分布的情况. 如下图所示,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图像的最基本的统计特征. 上面的是标准直方图 灰度统计累计直方图: H(k)= ∑ni(i<=k) 累积直方图中第k列的高度是图像中所有灰度值<=k的像素的个数 灰度直方图的求取算法实现 void GetHistogram(BYTE *image_Src, int width, int height

matlab 直方图均衡化

原理: 直方图均衡化首先是一种灰度级变换的方法: 原来的灰度范围[r0,rk]变换到[s0,sk]变换函数为:s=T(r); 为便于实现,可以用查找表(look-up table)的方式存储,即:原始的灰度作为查找表的索引,表中的内容是新的灰度值. 其次,直方图均衡化是图像增强的一种基本方法,可提高图像的对比度,即:将较窄的图像灰度范围以一定规则拉伸至较大(整个灰度级范围内)的范围. 目的是在得到在整个灰度级范围内具有均匀分布的图像. 所以,当输入:直方图H(r)[此处指每个灰度级占有的像素数]

【数字图像处理之(四)】用图像增强谈灰度直方图

灰度直方图 是灰度级的函数,描述的是图像中该灰度级的像个数或该灰度级像素出现的频率(归一化) 生成并绘制直方图: src = imread('Fig0303(a)(breast).tif'); imshow(src); h1 = imhist(src); %生成直方图 figure,imhist(src,255); %绘制直方图 h2 = imhist(src, 25); %生成直方图 horz = linspace(0, 255, 25); figure,bar(horz, h2); %绘制条

彩色图像的直方图均衡化

彩色图像的直方图均衡化 - YangYudong2014的专栏 - CSDN博客 http://blog.csdn.net/yangyudong2014/article/details/40515035 matlab进阶摸索篇——彩色图直方图均衡化 - Rachel Zhang的专栏 - CSDN博客 http://blog.csdn.net/abcjennifer/article/details/6667504 用matlab_实现基于直方图均衡化的彩色图像增强 - 成人教育 - 道客巴巴 h

图像直方图与直方图均衡化

图像直方图与直方图均衡化 图像直方图以及灰度与彩色图像的直方图均衡化 图像直方图: 概述: 图像的直方图用来表征该图像像素值的分布情况.用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目. 图像直方图图形化显示不同的像素值在不同的强度值上的出现频率,对于灰度图像来说强度范围为[0~255]之间,对于RGB的彩色图像可以独立显示三种颜色的图像直方图. 同时直方图是用来寻找灰度图像二值化阈值常用而且是有效的手段之一,如果一幅灰度图像的直方图显示为两个波