【数字图像处理之二】图像直方图均衡化

原创 2015年07月07日 15:53:49

直方图均衡化的作用是,让图像中比较暗或亮的地方变得清晰。

直方图均衡化步骤:

① 统计图像中0~255各灰度级的个数,记录进一个数组里面。


② 计算各灰度级的个数占总个数的百分比


③ 然后 f(n+1) = f(1)+f(2)+……+f(n)  n ← 1 to n-1


④ 然后所有分数乘以255,下取整

④ ⑤ 最后把原图像的数字替换成计算后的数字。


<span style="white-space:pre">		</span>double Histogram[256];//建立一个直方图数组
		double hs[256];
		double sum=0;
		/**
		 * 图像未经处理的时候
		 */
		memset(Histogram,0,sizeof(Histogram));
		int i,j,k;
		for(j=-1;++j<hImage;){
			for(k=-1;++k<wImage;){
				Histogram[(int)Imagebyte[j][k].R]++;
			}
		}
		/**
		 * 输出直方图
		 */
		ShowProcessing(Histogram,50,100);
		/**
		 * 显示处理前的图像
		 */
		ShowImage(340,0);
		/**
		 * 对直方图进行均衡化
		 */
		i=0;
		hs[i]=Histogram[i]/(hImage*wImage);//第一位算出百分比
		sum+=hs[i];//加第一个百分比
		for(;++i<256;){//from 1 upto 255
			hs[i]=Histogram[i]/(double)(hImage*wImage);//第二位及以后算出百分比
			sum+=hs[i];//从第二位不停地累加
			hs[i]=sum;//将累加值赋给指定位置
		}
		/**
		 * 图像新值 等于 百分比*255
		 */
		for(i=-1;++i<hImage;){
			for(j=-1;++j<wImage;){
				Imagebyte[i][j].R=Imagebyte[i][j].G=Imagebyte[i][j].B=hs[Imagebyte[i][j].R]*255;
				Imagebyte[i][j].RC=Imagebyte[i][j].BC=Imagebyte[i][j].GC=255-Imagebyte[i][j].R;
			}
		}
		/**
		 * 图像经过处理后
		 */
		memset(Histogram,0,sizeof(Histogram));
		for(j=-1;++j<hImage;){
			for(k=-1;++k<wImage;){
				Histogram[(int)Imagebyte[j][k].R]++;
			}
		}
		/**
		 * 输出直方图
		 */
		ShowProcessing(Histogram,50,370);
		/**
		 * 显示处理过后的图像
		 */
		ShowImage(340,hImage);

直方图均衡化前后对比



版权声明:本文为博主原创文章,未经博主允许不得转载。

【数字图像处理】直方图均衡化详解及编程实现

直方图均衡化的英文名称是Histogram Equalization.   图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最...
  • xiajun07061225
  • xiajun07061225
  • 2011年10月28日 09:31
  • 113740

图像处理(二)直方图均衡化

直方图均衡化又称直方图修平,是一种很重要的非线性点运算。使用该方法可以加强图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好的在直方图上分布。 直方图均衡化的基...
  • guoyk1990
  • guoyk1990
  • 2012年10月24日 21:11
  • 10892

数字图像处理直方图均衡化

  • 2009年07月08日 10:32
  • 43KB
  • 下载

《数字图象处理》——直方图均衡化

在直方图的基础上,也就出现了直方图的均衡化。     直方图均衡化的处理过程中就是在寻找一个变换函数(经常用累积分布函数(CDF)来当作变换函数),为什么呢?这在matlab冈萨雷斯书里面有...
  • hh555800
  • hh555800
  • 2014年12月25日 10:04
  • 756

数字图像处理--直方图均衡化

 数字图像处理课,老师布置了7道实验题,要求是语言不限,但不能调用现成算法,这些题目有点难度,但题目本身基本涵盖了这门课中所有重要的内容。为了方便学弟和同道中人完成练习,也为了记录下方便以后回顾经典的...
  • terryzero
  • terryzero
  • 2010年11月29日 20:49
  • 11591

直方图均衡化的数学原理

直方图均衡化的数学原理 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰...
  • superjunenaruto
  • superjunenaruto
  • 2016年09月04日 13:36
  • 16780

数字图像处理_直方图均衡化

  • 2013年09月10日 12:08
  • 40KB
  • 下载

数字图像处理直方图均衡化

  • 2009年11月29日 11:37
  • 3.56MB
  • 下载

数字图像处理:1.直方图均衡化

1.灰度直方图 灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。如下图所示,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率...
  • ichangjian
  • ichangjian
  • 2013年07月30日 16:01
  • 3261

数字图像处理:1.直方图均衡化

1.灰度直方图 灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。如下图所示,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率...
  • ichangjian
  • ichangjian
  • 2013年07月30日 16:01
  • 3261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【数字图像处理之二】图像直方图均衡化
举报原因:
原因补充:

(最多只允许输入30个字)