QQ登录

只需要一步,快速开始

 注册地址  找回密码

tag 标签: 直方图

相关帖子

版块 作者 回复/查看 最后发表
悬赏 如何利用Matlab实现多纵坐标轴图形的绘制(包括直方图和曲线图) - [悬赏 10 点体力] attach_img MATLAB论坛 xliao1990 2011-10-15 5 20138 576905077 2011-10-26 23:06
基于卫星云图的风失场度量模型与算法探讨(包含完整代码) attachment 2012第九届全国高校研究生数学建模竞赛优秀论文 madio 2013-7-30 5 2433 Dustin_Keng 2014-7-5 12:15
LaTeX技巧619:pgf绘制三维直方图 attachment LaTeX/ScienceWord论坛 梦里花111 2013-12-26 0 2079 梦里花111 2013-12-26 17:07
【求教】origin如何拟合频率直方图多峰值曲线? Origin论坛 sydxajie 2014-4-3 3 13703 奥霸马2014 2014-8-25 16:11
梯度方向直方图 attachment 数模资源交流 ゞ_轻描丶幸福的 2014-12-18 0 1954 ゞ_轻描丶幸福的 2014-12-18 10:12
案例1 基于直方图优化的图像去雾技术 attach_img MATLAB论坛 建不了的模。 2015-1-4 1 1537 w785485068 2015-1-4 19:01
求助matlab视频处理 Matlab 图像处理 视频流处理 Sam19931993 2015-4-2 0 1616 Sam19931993 2015-4-2 13:32
MATLAB与数字图像处理_2 MATLAB论坛 森之张卫东 2015-7-18 0 808 森之张卫东 2015-7-18 21:58
二维条形直方图——hists函数 attach_img MATLAB论坛 森之张卫东 2015-7-27 0 707 森之张卫东 2015-7-27 22:36
画角度直方图rose函数 attach_img MATLAB论坛 森之张卫东 2015-7-28 0 3333 森之张卫东 2015-7-28 21:58
sift 特征点提取——简介1 MATLAB论坛 森之张卫东 2015-8-5 0 606 森之张卫东 2015-8-5 18:52
【R语言进阶】第5周 柱形图,点图,饼图,直方图 中国高校SAS数据分析大赛 吃苹果的梨 2016-3-22 0 1717 吃苹果的梨 2016-3-22 09:18

相关日志

分享 对图像的直方图进行变换操作
marchboy 2012-4-29 14:13
对图像的直方图进行变换操作 前言 图像增强处理技术一直是图像处理领域一类非常重要的基本图像处理技术。通过采取适当的增强处理可以使原本模糊不清甚至根本无法分辨的原始图片处理成清楚、明晰的富含大量有用信息的可使用目标图像,因此此类图像处理技术在医学、遥感、微生物、刑侦以及军事等诸多科研和应用领域对原始图像的模式识别、目标检测等起着重要作用。本文将从空间域的角度对图像的灰度直方图增强处理方法做详细的介绍。 图像的灰度直方图处理技术 在空域对图像进行增强处理的方式有许多种,如增强对比度和动态范围压缩等等,但这些处理方式都是针对原始图像的每一个像素直接对其灰度进行处理的,其处理过程主要是通过增强函数对像素的灰度级进行运算并将运算结果作为该像素的新灰度值来实现的。通过改变选用增强函数的解析表达式就可以得到不同的处理效果,这类处理方法比较灵活方便,处理效果也比较不错,但对于某些灰度分布很密集或对比度很弱的图像虽然也能起到一定的增强效果但并不明显。对于这种情况就需要用本文提出的灰度直方图变换方法将原始图像密集的灰度分布变的比较疏散,从而拉大了图像的对比度并在视觉上达到明显增强的效果,使一些原本不易观察到的细节能变的清晰可辩。 图像的灰度变换处理是通过改变原始图像各像素在各灰度级上的概率分布来实现的。通过对图像的灰度值进行统计可以得到一个一维离散的图像灰度统计直方图函数 p(sk)=nk/n (k=0,1,2,……,L-1)。该式表达了在第k个灰度级上的像素的个数nk占全部像素总数n的比例,p(sk)则给出了对sk出现概率的1个估计。因此该直方图函数实际是图像的各灰度级的分布情况的反映,换句话说也就是给出了该幅图像所有灰度值的整体描述。通过该函数可以清楚地了解到图像对应的动态范围情况,可以了解到图像灰度的主要集中范围。因此可以通过图像增强程序的干预来改变直方图的灰度分布状况,使灰度均匀的或是按预期目标分布与整个灰度范围空间,从而达到增强图像对比度的效果。这种方法是基于数理统计和概率论的,比直接在空域对原始图像采取对比度增强效果要好的多。在实际应用中直方图的变换主要有均衡变换和规定变换两种,而后者又根据灰度级映射规则的不同分单映射规则和组映射规则两种。 直方图均衡化处理 直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。对图像空域点的增强过程是通过增强函数 t=EH(s)来完成的,t、s分别为目标图像和原始图像上的像素点(x,y),在进行均衡化处理时对增强函数EH需要满足两个条件:增强函数EH(s)在0≤s≤L-1的范围内是一个单调递增函数,这个条件保证了在增强处理时没有打乱原始图像的灰度排列次序。另一个需要满足的条件是对于0≤s≤L-1应当有0≤EH(s)≤L-1,它保证了变换过程灰度值的动态范围的一致。同样的,对于反变换过程s=EH-1(t),在0≤t≤1时也必须满足上述两个条件。累计分布函数(cumulative distribution function,CDF)就是满足上述条件的一种,通过该函数可以完成s到t的均匀分布转换。此时的增强转换方程为: tk = EH(sk) = ∑(ni/n) = ∑ps(si),(k=0,1,2,……,L-1) 上述求和区间为0到 k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布tk按式tk= 对其取整并得出源灰度sk到tk的灰度映射关系,其中N为灰度的级数。在重复上述步骤得到所有的源图像各灰度级到目标图像各灰度级的映射关系后按照新的映射关系对源图像各点像素进行灰度转换即可完成对源图的直方图均衡化。下面是按照上述算法实现的部分主要程序代码: 首先对原始图像的各像素点的灰度情况进行统计计算。对于 24位BMP图像,图像阵列是从第54字节起始的,每像素按R、G、B的顺序占3个字节。 for(DWORD i=54;im_dwFileLen;i++) {  ns_r ]++; //ns_r 为k灰度级像素数,m_cpBuffer 为当前的灰度值   i++;  ns_g ]++;//ns_g为G分量的统计记数   i++;  ns_b ]++;//ns_b为B分量的统计记数 } for(i=0;i256;i++) // 计算 R、G、B三分量的直方图分布 {   ps_r =ns_r /((m_dwFileLen-54)/3.0f); //ps_r 为R分量中i灰度级出现的概率   ps_g =ns_g /((m_dwFileLen-54)/3.0f); //ps_b 为G分量中i灰度级出现的概率   ps_b =ns_b /((m_dwFileLen-54)/3.0f); //ps_b 为B分量中i灰度级出现的概率 } 然后计算 R、G、B三分量各灰度级的累计直方图分布,并对其进行取整以得出源和目标图像灰度之间的映射关系: for(i=0;i256;i++) {  //计算累计直方图分布   temp_r =temp_r +ps_r ;   temp_g =temp_g +ps_g ;   temp_b =temp_b +ps_b ;  //累计分布取整,ns_r 、ns_b =(int)(255.0f*temp_r +0.5f);   ns_g =(int)(255.0f*temp_g +0.5f);   ns_b =(int)(255.0f*temp_b +0.5f); } 最后按照计算出来的映射关系把原图的原始灰度值映射到经过均衡化的新灰度级上,完成最后的处理,下图就是原图像和用本程序得出的经过直方图均衡化处理的目标图像,从实验结果可以看出原始图像太暗根本看不清细节,而处理过的图像则非常清晰: for(i=54;im_dwFileLen;i++) {  m_cpBuffer =ns_r ]; //对R分量进行灰度映射(均衡化)   i++;  m_cpBuffer =ns_g ]; //对G分量进行灰度映射(均衡化)   i++;  m_cpBuffer =ns_b ]; //对B分量进行灰度映射(均衡化) }
个人分类: 我的日志|475 次阅读|0 个评论
分享 VC++6.0在灰度数字图像增强处理中的应用
marchboy 2012-4-29 14:02
摘要 该文介绍了用直方图均衡化对灰度图像进行灰度映射,从而达到使图像增强的目的。利用 VC++6.0执行效率高,可继承、封装、移植等成熟的软件技术,对直方图均衡化算法进行实现。实验表明,该程序可以快速、准确地对灰度图像进行灰度变换,达到了使图像对比度增强,改善图像质量的预期目的。 关键字 Visual C++;图像增强;直方图均衡;DIB文件 由于噪声、光照等外界环境或设备本身的原因,通常我们所获取的原始数字图像质量不是很高,因此在对图像进行边缘检测、图像分割等操作之前,一般都需要对原始数字图像进行增强处理。图像增强主要有两方面应用,一方面是改善图像的视觉效果,另一方面也能提高边缘检测或图像分割的质量,突出图像的特征,便于计算机更有效地对图像进行识别和分析。 图像增强是图像处理最关键的研究问题之一,图像增强按作用域可分为两类,即空域处理和频域处理。空域处理是直接对图像进行处理,而频域处理则是在图像的某个变化域内,对图像的变换系数进行运算,然后通过逆变换获得图像增强效果。本文主要对空域增强法中的直方图均衡进行分析并用 VC ++ 6.0进行算法实现。当前图像处理在算法实现中主要应用Matlab仿真工具,但Matlab运行效率较低,且可移植性和实用性均不太理想。与Java和C#等其他高级语言相比,VC++在程序运行效率、内存使用的可控性和编程的灵活性上均具有较大的优势,因此本文采用VC ++ 6.0集成开发环境,以达到算法快速有效地执行,同时增强了算法的可移植性。 1灰度图像直方图均衡化的描述 1.1灰度图像直方图处理方法 图像的直方图是图像处理中一种十分重要且实用的工具,它概括了一副图像的灰度级内容。从数学上来说图像直方图是图像各灰度值统计特性与图像灰度值的函数,它统计一幅图像中各个灰度级出现的次数或概率。实际上,灰度图像直方图是一个离散函数: pf(fk)=nk/n k=0,1,…, L-1 其中fk为图像f(x,y)的第k级灰度,nk是图像f(x,y)中具有灰度值fk的象素个数,n是图像象素总数,L是图像的灰度级数。因为pf(fk)给出了对各个fk出现概率的一个统计,所以直方图提供了图像的灰度值分布情况。在灰度直方图坐标系中,横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度级上图像各个像素点出现的次数或概率。在对灰度数字图像的增强处理方法中,灰度均衡化和灰度规定化应用较为广泛,但后者需要根据具体的图像人为规定好适当的期望直方图才能得到满意的效果,如果期望直方图规定不当则处理效果会很差,因此后者的通用性不好。而前者在处理时只需要将当前的灰度分布重新均衡地分布于整个灰度区间即可,虽然对于某一幅特定的图象处理效果可能不及灰度规定化,但通用性却要好的多,对任意图象均可获得相当不错的处理效果。 1.2灰度图像直方图均衡化算法分析 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在 (x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。 累计分布函数 (cumulative distribution function,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk = EQ(fk) = (ni/n) = pf(fi), (k=0,1,2,……,L-1) 上述求和区间为 0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到gk的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对源图像各点像素进行灰度转换,即可完成对源图的直方图均衡化。
个人分类: 我的日志|472 次阅读|0 个评论
qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-7-7 23:54 , Processed in 0.374505 second(s), 25 queries .

回顶部