我理解的直方图均衡化

关于直方图的比较官方的解释版本,建议先看看这个,挺有用,看了好几次我就明白了:http://baike.baidu.com/item/%E7%9B%B4%E6%96%B9%E5%9B%BE%E5%9D%87%E8%A1%A1%E5%8C%96

下面是我通俗的解释:

如下图,是一个直方图,横坐标是0~255的灰度值,纵坐标是相应灰度值在图片中的概率:

我们来个更极端的,假如说,图片的的灰度值都集中在第三个和第四个峰值,(纵坐标数值是不对的,这里只是示意,忽略具体数值)如下图:

那么就有这么一个上图的累积分布函数F,如下草图所示:

均衡化就是让某灰度值数量少的点数量变得更少,让某灰度值数量多的点数量变得更多,用纵坐标s*255代替横坐标r,对图像所有的点都进行这样的操作,比如说图像中的某一个像素值是40 ,就会变成0.1*255,像素值是80,就会变成0.8*255,像素值是160,就会变成0.12*255,等等,对每一个点都用s*255代替r。

所以:

(1)0~80的灰度值的r,都会变成0.1*255,这些点少,0~80的灰度值都会变成0.1*255,相应原来图片中的点像素值在0~80的,都会变成0.1*255,缩小了。

(2)81~160的灰度值都会相应变化,由于数值多,所以乘以255后,映射的灰度值范围就越广,扩大了。

(3)161~255的灰度值的点少,相应点的灰度值就会映射到0.12*255,这一个点上,缩小了。

我哪里有讲的不对的地方,还请大家指正发起进攻(  ′-ω ?)▄︻┻┳══━一

时间: 2024-08-29 12:43:54

我理解的直方图均衡化的相关文章

学习笔记(二)——直方图均衡化和匹配

? 本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring 和 http://www.cnblogs.com/xujianqing/ 作者:许剑清???? (叶舞清风) ? ? 本文的学习是基于冈萨雷斯<数字图像处理第二版>这本专著的对应于书中章节3.3 这一篇文章如题,主要是讲直方图均衡化和匹配的一些基本概念.不涉及很多的技术问题专业数学推导,只是为入门图像处理做一个感性的认识,具体应用请朋友们自己发挥创造,欢迎大家一起来交流.

直方图均衡化算法实现

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

《OpenCV:直方图应用:直方图均衡化,直方图匹配,对比直方图》

直方图均衡化 直方图均衡化(Histogram Equalization)是直方图最典型的应用,是图像点运算的一种.对于一幅输入图像,通过运算产生一幅输出图像,点运算是指输出图像的每个像素点的灰度值由输入像素点决定,即: 直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数过程.从分布图上的理解就是希望原始图像中y轴的值在新的分布中尽可能的展开.变换过程是利用累积分布函数对原始分布进行映射,生成新的均匀拉伸的分布.因此对应每个点的操作是寻找原始分布

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

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

opencv学习笔记9 直方图均衡化并绘制直方图

进行直方图均衡化并将直方图绘制出来,主要需要如下几个函数: 1.CVAPI(void) cvEqualizeHist( const CvArr* src, CvArr* dst ); 这个函数用起来十分简单,只需要传入源图像以及已初始化的目标图像即可. 第一个参数:const CvArr* src:待处理的源图像: 第二个参数:CvArr* dst:目标图像: 在cvEqualizeHist()中,原始图像及目标图像必须是单通道,大小相同的8位图像.对于彩色图像,必须先利用cvSplite()将

图像处理之直方图均衡化拉伸

目录 1. OpenCV实现 2. 原理 1) 概率密度函数 2) 概率分布函数 3) 原理应用 4) 原理推导 3. 具体实现 4. 参考文献 1. OpenCV实现 在OpenCV中,实现直方图均衡化比较简单,调用equalizeHist函数即可.具体代码如下: #include <iostream> #include <opencv2\opencv.hpp> using namespace std; using namespace cv; int main() { Mat s

python实现直方图均衡化,理想高通滤波与高斯低通滤波

写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验二,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验二. 由于时间紧张,代码没有进行任何优化,实验算法仅供参考. 实验要求 实现图像直方图均衡化,要求显示均衡化前.后直方图以及均衡化后图像. 对单通道图像进行DFT变换,要求显示幅度图和相位图,并设计理想高通滤波器和高斯低通滤波器对图像进行频域滤波,并显示滤波之后的图像. 注:除DFT和IDFT外,不允许调库 实验代码 代码首先贴在这里,仅供

灰度直方图均衡化的算数推导

首先考虑连续函数并且让变量r表示待增强图像的灰度级.假设r被归一化到[0,1],且r=0表示黑色,r=0表示白色. 对于连续函数,假设其变换函数为 (公式一) 在原始图像中,对于每一个r对应着一个灰度值s.其中变换函数要满足以下条件: T(r)在[0,1]中为单值,且单调递增. 当0<=r<=1时,0<=T(r)<=1.这样保证输出的灰度级与输入的灰度级有同样的范围. 把公式一的逆函数表示为 (公式二) 令Pr(r)和Ps(s)分别表示随机变量r和s的概率密度函数.由基本概率理论得

opencv直方图均衡化

#include <iostream> #include "highgui.h" #include "cv.h" #include "cxcore.h" #include "math.h" using namespace std; using namespace cv; //绘制1维直方图 Mat draw1DHistogram(Mat histogramMat) { double maxVal = 0, minV