基于FPGA的灰度图像直方图均衡化实现.docVIP

基于FPGA的灰度图像直方图均衡化实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的灰度图像直方图均衡化实现.doc

基于FPGA的灰度图像直方图均衡化实现   摘 要直方图均衡化算法是空域图像增强技术的重要算法,是图像压缩、图像分割和图像识别等后续图像处理的基础,在图像预处理技术中有着广泛的应用。本文介绍了一种利用FPGA实现灰度图像直方图均衡化的方案,实践测试表明,该设计方案具有控制逻辑简单,便于实现,效果明显等优点。   【关键词】FPGA CDF 概率统计 图像灰度 直方图均衡   1 引言   直方图均衡化算法是空域图像增强技术的重要算法,是图像压缩、图像分割和图像识别等后续图像处理的基础,在图像预处理技术中有着广泛的应用。目前,针对视频图像的直方图均衡化算法均采用高性能处理器和高速存储器结合的图像处理系统实现,大量硬件存储器资源的使用提高了逻辑设计的复杂度和系统成本,无法满足图像视频处理的低成本要求。   本文根据视频图像相邻两场直方图的高相似性和直方图均衡化算法特点,设计了一种基于FPGA+SRAM的直方图均衡化处理硬件实现平台,并在FPGA上通过硬件逻辑实现了直方图均衡化算法。经过实际测试,该种方式能够有效的实现灰度图像的对比度增强,使图像显示质量得到明显改善。   2 直方图均衡化概述   直方图均衡化处理实质是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,也就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。通过将原始图像的直方图变换为均匀分布的形式,增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。   设原始图像在(x,y)处的灰度为f,而改变后在该处的灰度为g,则图像均衡化处理的过程可表述为将(x,y)处的灰度f映射为g,将该映射函数定义为:   g=EQ(f) 式(1)   在式(1)中映射函数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的均匀分布。由于在图像处理中,原始图像各像素点的灰度相互之间为离散数据,故可将CDF离散化处理,按式(2)进行处理,其中L为图像的总灰度级数,n为图像的像素总数,nj为灰度为j的像素点数量。   式(2)   3 FPGA逻辑设计   3.1 画面累积分布函数的实现   在画面分辨率及灰度级已确定的前提下,对式(2)进行变换可得式(3)。设画面分辨率为1024×768,画面灰度等级为64。   式(3)   根据式(3),在FPGA内实现直方图均衡化处理唯一需要确定的即为累积分布函数   ,而计算累积分布函数的基础则是计算概率密度函数nj。   在FPGA内部需同时开辟64个process进程同步并行进行累积分布函数的统计,每一个进程分别只用于实现1个灰度值的统计数量加1操作。   将求出的累积分布函数值d0~d63在场同步的消隐区间写入FPGA片上的一组RAM中,对应的地址为“00”~“3F”,这样在该片上RAM中,相应的地址k所对应的即为灰度值为k的像素点所对应的累积分布函数值。   3.2 灰度画面的直方图均衡化实现   根据3.1节,将输入画面的累积分布函数求出并存入FPGA片上RAM后,直方图均衡化的操作实际上就已变成了一个简单的查表操作,即根据当前输入像素点的灰度值k,读出片上RAM地址k中存储的数值dk,然后再将dk根据式(3)乘以一个系数   ,此时得到的数值即为当前像素点在经过直方图增强处理后的灰度值。经过适当的处理,系数的乘除法可简化为乘法和移位操作,如下式(4)。   为适应动态画面,在实际实现的过程中,需在FPGA片外扩展两组SRAM,用于画面帧存,对这两组SRAM进行乒乓操作来完成画面的缓存,从而实现动态画面的直方图均衡化操作。具体实现过程如下:   3.2.1 在奇数场画面   计算实时输出画面的累积分布函数,并存入FPGA片上RAM(RAM_ODD),同时将实时画面存入FPGA片外的A组SRAM。在进行这些操作的同时,FPGA读取片外的B组SRAM缓存的上一个偶数场的画面,并将读出的每一个像素点的灰度值,在缓存上一场画面的累积分布函数的FPGA片上RAM(RAM_EVEN)中进行查表,再将查表得出的值进行乘法移位操作后输出,即得到上一个偶数场画面经直方图均

文档评论(0)

lmother_lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档