DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1224|回复: 0
打印 上一主题 下一主题

[待整理] 基于FPGA的采集卡的图像增强算法应用研究

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 16:22:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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操作。
       
        2.2图像增强算法的FPGA实现
       
        利用现场可编程门阵列(FPGA)的并行、实时处理的特性,实现图像增强的片上集成系统(SoC)。系统将图2中的r1,r2,s1和s2设计成接口参数,用户通过主控计算机的应用程序可以反复配置参数,直到得到预期的结果为止。
       
        2.2.1 FPGA算法的VHDL实现
       
        为了方便阐述,把整个FPGA实现图像增强算法,分为几个阶段。首先,PC机通过应用程序送r1,r2,s1和s2.而后,由驱动程序中的定点化程序将系数进行定点化,后通过PCI9054把式(2)中k1,k2,k3,r1,r2,s1,s2和移位参数bit1,bit2,bit3送到FPGA的内部寄存器中。这样,FPGA中嵌入的图像增强算法模块就能从SDRAM中取出原始图像数据进行增强,并把经处理后的图像数据存回SDRAM中。图像增强模块首先取回数据,对取回的数据进行判断,把图像数据分为3个区间。并做相应的减法。结果跟定点后的系数进行定点乘法,之后将结果数据进行移位操作,然后通过累加输出结果。常用的并行处理有两种最基本的连接模式:流水线连接和并行阵列连接。针对该算法,采用流水线连接方式进行。在流水线结构中,一个大任务被分解成复杂性大致相同的小任务,各小任务在流水线上同时执行,整个任务的速度取决于执行时间最长的子任务的执行时间。在本论文设计中把增强算法模块化分成判断模块,减法模块,乘法模块,移位模块和累加模块,并将其进行流水连接。算法逻辑框图如图3所示。
       
       
       
        2.2.2 FPGA算法调试结果分析
       
        通过SignalTap抓取图像值为0×08的图像增强算法的调试结果见图5.系数k1为1,bit1为4时,图像经算法后的像素值image_data_out为1,符合算法结果正确。
       
       
        3结论
       
        本文设计开发了一款以FPGA为核心控制芯片的嵌入式图像采集卡。采集卡以FPGA为逻辑和算法实现的核心器件,不仅实现了传统意义上的图像采集,而且实现了CCD相机控制和激光器同步曝光功能,打破了以往单纯靠增加硬件设备实现同步控制的方法,简化了系统硬件结构并节约系统成本。此外,在系统中嵌入了图像增强算法和采用PCI接口与计算机连接满足了高速采集的要求。根据所选芯片的自身特点,设计了相关的图像增强算法。用VHDL和原理图结合的方法对FPGA进行编程,实现了图像采集系统的各个功能模块。在FPGA内嵌入了图像增强集成系统,用硬件并行处理实现,经仿真该法效果很好。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-2 22:54 , 耗时 0.083826 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表