×
嵌入式 > 嵌入式开发 > 详情

基于FPGA的采集卡的图像增强算法应用研究

发布时间:2020-07-08 发布时间:
|

0 引言

图像在采集过程中不可避免地会受到传感器灵敏度、噪声干扰以及模数转化时量化问题等因素影响而导致图像无法达到人眼的视觉效果,为了实现人眼观察或者机器自动分析的目的,对原始图像所做的改善行为,就被称作图像增强技术。因此图像增强技术虽然是改善图像质量的通用方法,但是它也同样带有针对性,它必须是针对某一特定的需要而采用的特定的算法来实现图像质量的改善。

图像增强技术根据各种不同目的而产生了多种算法,根据处理空间的不同把这些算法分为基于空间域的图像增强算法和基于变换域的图像增强算法。基于空间域的图像增强算法又可以分为空域的变换增强算法、空域的滤波增强算法以及空域的彩色增强算法;基于变换域的图像增强算法可以分为频率域平滑增强算法、频率域的锐化增强算法以及频域彩色增强算法。

本论文采用的是空间域图像增强算法,主要利用一定的图像灰度值映射准则来调整图像灰度的动态范围,从而实现图像的增强。

1 图像采集卡总体结构

如图1所示,整个采集卡可分成3个子模块,主要有PCI总线部分、FPGA系统部分和外围接口部分。PCI总线部分的主要功能是完成PC机和PCI本地总线上设备的通信,包括PCI总线的通信,本地总线上的总线仲裁、数据传输、中断、中断握手以及PCI9054 芯片的配置功能。

FPGA 系统部分主要实现的是一个FPGA 最小系统。作为PCI9054 本地总线上的设备,FPGA 需要完成和PCI9054本地总线接口之间的通信。同样FPGA也需要具有上电自动配置的功能。外围接口部分主要与FPGA 通信。虽然通过FPGA 产生了各种控制信号,但这些信号在被转换之后才能用于实际的控制。外围接口部分的主要任务就是进行电平转换,以达到实际应用的要求。

2 图像增强算法实现

2.1 图像增强算法设计

在此,采用基于点操作的增强方法,也称为灰度变换。采用直接灰度变换方法实现增强原图各部分的反差。实际中往往采用增加原图里某两个灰度值间的动态范围来实现。在本设计中,采用图2所示的直接灰度变换的方法,横坐标表示原图像的灰度值,纵坐标表示变换后的灰度值,实线为本论文中讨论的增强对比度变换曲线。虚线表示不做任何变换的曲线图。

可以看出把原图中的0~ r1 和r2 ~ 2n - 1 间的动态范围明显减小,而原图中灰度值r1 ~ r2 之间的动态范围增加了。其中n 为图像位宽。这样,分段线性变换的数学表达式如下:

简化表达式,化简如下:

式中参数k1 ,k2 ,k3 可能是一个小数,为了在FPGA 里面能够进行计算,首先需要对这3个参数进行定点化处理。整个定点化的工作被嵌入到驱动程序中,用户只需输入接口数据r1 ,r2 ,s1 和s2 ,驱动程序生成定点化结果k1 ,k2 ,k3 和移位的位数bit1 ,bit2 ,bit3 送入FP-GA.本论文采用定点化方法是,先将小数进行乘2操作(移位操作),如果先到达整数或者大于512提前完成乘2操作,否则对其32次的乘2操作。





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM入门篇之(一)概念