图像自适应分段线性拉伸算法的FPGA设计

[09-12 18:32:45]   来源:http://www.88dzw.com  EDA/PLD   阅读:8350

文章摘要:2.2.1 双端口RAMXC4VLXl5芯片具有丰富的BlockRAM资源,用它构成双端口RAM,进行灰度直方图统计。像素的灰度值作为双端口RAM的地址,对应空间存储此灰度值在1帧图像里的频数。以320×256帧大小、灰度值为14 b的红外图像为例,在每个像素灰度值都相同的极限情况下,每个地址空间需要的存储的值为81 920,转换为二进制有17 b,故所需存储空间大小为17 b×214。对双端口RAM的操作分为三个阶段:(1)在帧正程时,只需对A端口进行读/写操作。根据接收到的像素灰度值,先读出RAM中对应地址空间的储值,加“1”后回写入原来的地址空间,这样在每帧正程结束时,就统计完了每个灰度

图像自适应分段线性拉伸算法的FPGA设计,标签:eda技术,eda技术实用教程,http://www.88dzw.com

2.2.1 双端口RAM

  XC4VLXl5芯片具有丰富的BlockRAM资源,用它构成双端口RAM,进行灰度直方图统计。像素的灰度值作为双端口RAM的地址,对应空间存储此灰度值在1帧图像里的频数。以320×256帧大小、灰度值为14 b的红外图像为例,在每个像素灰度值都相同的极限情况下,每个地址空间需要的存储的值为81 920,转换为二进制有17 b,故所需存储空间大小为17 b×214。对双端口RAM的操作分为三个阶段:

  (1)在帧正程时,只需对A端口进行读/写操作。根据接收到的像素灰度值,先读出RAM中对应地址空间的储值,加“1”后回写入原来的地址空间,这样在每帧正程结束时,就统计完了每个灰度值出现的频数,即完成了灰度直方图统计。

  (2)帧逆程时,要同时对A,B端口进行读操作。对于A端口,依次从高地址读取RAM中的数,将读取的数进行累加,当和大于帧像素个数的5%时,此时对应的地址值即为Xmax;类似地对B端口操作,从0地址开始读RAM,可找到Xmin。将得到的灰度值Xmin和Xmax存入寄存器,作为除法器和下一帧图像拉伸运算的输入。

  (3)每帧最后将双端口RAM清零,为下一帧灰度直方图统计做准备。由于双端口RAM没有整体清零功能,设计中采用从“O”地址开始。依次往高地址写零的方式清零。

2.2.2 除法器

  除法运算通过调用ISE IP Core Generator生成的15位定点除法器来实现,满足高精度要求,而不采用逼近法。一帧图像的拉伸只需调用一次除法器,提高了运算的效率。在帧逆程计算 Q:=16 384/(Xmax-Xmin)的值,对于15位输入,除法器有18个时钟周期的延时,而这并不会影响图像处理的实时性。

2.2.3 控制时钟

  在1个像素时钟周期内要完成读RAM、加法计算和回写RAM的操作,RAM的控制时钟至少必须是像素时钟的4倍。控制时钟的选取还要考虑帧逆程的时间长度,要在逆程里访问RAM查找到Xmin和Xmax,还要完成RAM清零操作。FPGA系统时钟为96 MHz,分频后产生48 MHz,为像素时钟8倍,用它作为双端口RAM和除法器的控制时钟,可满足要求。

2.2.4 拉伸运算

  将式(1)进行简单变换,可以记为:


  Q值在上帧结束前已经得到,根据式(2)拉伸运算得到简化,只需1次减法和乘法运算,得到积的小数点左移6位后,截取低8位就得到拉伸后的灰度值。需要注意的是,截取前要判定乘法是否溢出,如果溢出,结果置为最大灰度值255。

3 系统验证

  采用飞机高空采集的地面红外图像作为验证模板,灰度拉伸前的原始图像如图2所示,整幅图像对比度低,细节极不明显。最大、最小灰度值按5%的比例选取,拉伸后的图像如图3所示,拉伸后可明显看出河流、道路、汽车等地物的轮廓,但图像中较亮和较暗的部分层次不清晰。若减小灰度值压缩比例为2%,图像的主要轮廓变化不明显,较亮和较暗的部分将会显现出一定层次,这表明被压缩的区间相对变小,按比例拉伸的图像范围扩大。分段线性拉伸的结果可好可坏,分段区间的选择是关键,选取时要考虑原始图像的质量。噪声和盲元数目较少时,被压缩的区间可适当调小。


  该设计充分利用Virtex-4 FPGA的逻辑资源,实现了红外图像的自适应分段线性拉伸,对FPGA芯片资源占用情况如表1所示。整个设计完全在FPGA中实现,能最大限度地减少分立元件的使用。降低了系统的整体功耗,设计周期和开发成本也就能随之减少。算法完全采用流水线设计思路,处理后的数据相对输入延时小于一个像素时钟周期,最高系统时钟可达128 MHz。设计的性能和实时性满足预期目标,可用于精确制导武器或导航系统。


4 结语

  这里简要分析了图像自适应分段线性拉伸算法,利用Xilinx Virtex-4 FPGA丰富的片上资源实现了这一算法。通过实验对设计的有效性进行了验证,图像对比度有明显提高,噪声和盲元被抑制。但该算法具有局限性,仅适用于大目标的图像增强。在天文学、计算机视觉、动态景物分析、超声及声纳图像处理等领域中广泛存在着点目标红外图像,由于点目标无形状、尺寸等可利用的信息,处理时须存储多帧图像,数据处理量大。在做图像灰度级拉伸时,目标有可能被作为噪声而抑制掉,从而丢失有用信息,今后需要对点目标红外图像的增强方法做进一步研究。


上一页  [1] [2] 


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD

《图像自适应分段线性拉伸算法的FPGA设计》相关文章

分类导航
最新更新
热门排行