基于FPGA的线阵CCD成像系统的图像实时校正输出方法技术方案

技术编号:10554172 阅读:149 留言:0更新日期:2014-10-22 11:36
本发明专利技术公开基于FPGA的线阵CCD成像系统的图像实时校正输出方法,包括:(1)PC主机向FPGA主控芯片发送扫描指令;(2)FPGA主控芯片控制CCD传感器点亮,并控制CCD传动模块控制CCD传感器采集图像;同时,FPGA主控芯片中的算法模块分别计算出两个校正参数α和β;(3)CCD传感器采集图像数据,并将其传输至模数转换器,模数转换器将模拟信号转换成数字信号,并传输到FPGA主控芯片中的算法模块进行处理;(4)算法模块计算出所有光敏单元校正后的灰度值;(5)FPGA主控芯片将各个光敏单元各自校正后的灰度值传输至PC主机进行处理,形成完整的图像后显示。本发明专利技术设计合理,处理速度快、成像精度高。

【技术实现步骤摘要】
基于FPGA的线阵CCD成像系统的图像实时校正输出方法
本专利技术涉及一种图像输出方法,具体涉及的是一种基于FPGA的线阵CCD成像系统的图像实时校正输出方法。
技术介绍
CCD(ChargeCoupledDevice)图像传感器成像方案在光电检测和图像采集中得到了广泛的应用。由于CCD光敏元件的生产工艺导致响应度不一致,会使得扫描图像灰度值产生非均匀变化,严重影响图像的采集质量。即便生产工艺的影响可以忽略,光照的不均匀也会对扫描的图片产生影响,所以非常有必要对扫描图像的灰度进行校正。现有的已经提出的方法中主要有基于上位机软件来实现校正,如有些学者提出了射线数字成像检测系统不均匀性分析与校正和多路CCD成像非一致性动态校正方法进行校正,但是这些方案的运算量较大,校正耗时较长,影响了整个系统的实时性。也有使用硬件方式来实现校正的,比如FPGA+DSP的方案,但是这种方案会使系统结构过于复杂。所以现在使用最多的方法是使用现场可编程门阵列(FPGA)来完成图像的校正。然而,在现有的线阵CCD光电设备中,如:线阵CCD相机和多CCD拼接大幅面扫描仪等,多采用扫描频率为2000行每秒的CCD器件,在大幅面采集系统中,如一张12720×5297幅面的图片,用现有的方法实现校正耗时平均值约50ms,这样的延时不能满足系统的要求。而在连续采图过程中如果图片的校正耗时过长,会导致整个系统的实时性降低。虽然CCD的性能指标可以达到很高,但是一个系统的性能是由耗时最多的模块所决定的,以多CCD大幅面扫描仪为例,虽然使用了扫描频率为2000行每秒的CCD,同时配合DDR2(DoubleDataRate2)高速缓存来传输图像,但是图片校正耗时是提升系统的瓶颈,限制着系统整体指标的提高,而且当图片的尺寸变大之后,上面的问题会越来越突出。不仅是图像扫描设备中存在上述的问题,在自动化在线检测系统中,如PCB(PrintedCircuitBoard)自动外观检查机等,对速度要求很高的场合也是不能接受软件校正所带入的耗时的。综上所述,有必要对现有的硬件校正方法进行改进,使得输出的图像质量满足要求。
技术实现思路
本专利技术的目的在于提供一种基于FPGA的线阵CCD成像系统的图像实时校正输出方法,主要解决现有的CCD成像系统由于校正方案不佳而导致其不能快速、高精度地输出图像的问题。为了实现上述目的,本专利技术采用的技术方案如下:基于FPGA的线阵CCD成像系统的图像实时校正输出方法,其特征在于,包括以下步骤:(1)系统上电后,PC主机向FPGA主控芯片发送扫描指令;(2)FPGA主控芯片接收指令后产生时钟信号和控制信号,并控制CCD传感器点亮,并控制CCD传动模块按照PC主机要求的扫描模式控制CCD传感器对扫描对象进行图像采集;同时,FPGA主控芯片中的算法模块将纯白和纯黑两种颜色作为标定点,并按照如下公式分别计算出两个校正参数α和β:α+β=m×256(2)其中,W表示扫描纯白色图片的灰度值,其值为220,B表示纯黑色图片的灰度值,其值为15,m表示一个小数点后保留三位的纯小数;α为所得数据的整数部分,β为所得数据的小数部分;(3)CCD传感器采集扫描对象的图像数据,并将该图像数据传输至模数转换器,模数转换器在FPGA主控芯片提供的转换时钟信号下,将CCD传感器输出的模拟信号转换成数字信号,并传输到FPGA主控芯片中的算法模块进行处理;(4)算法模块对第一个光敏单元采用如下公式计算其校正后的灰度值A1:其中,X表示CCD传感器实际采集的第一个光敏单元的灰度值;(5)重复步骤(4),直至算法模块将剩余的光敏单元校正后的灰度值A全部算出;(6)FPGA主控芯片将各个光敏单元各自校正后的灰度值A传输至PC主机进行处理,得到完整的图像,然后将图像显示。作为优选,所述FPGA主控芯片的型号为CycloneIV。进一步地,所述步骤(2)中,所述m表示一个小数点后保留四位的纯小数。再进一步地,所述步骤(2)中,计算得到两个校正参数α和β后,FPGA主控芯片将二者存储到与其连接的flash存储器中,在以后校正图像数据时,直接从该flash存储器中将两个参数α和β读入到FPGA主控芯片内部的随机存取存储器中,并在传输图像数据的同时将两个校正参数α和β输入到算法模块中。本专利技术的设计原理在于,CCD的非均匀性主要表现在均匀辐射输入时CCD的不同光敏单元的输出不同,这种不一致性又称作光电响应的非均匀性。这种特性是CCD的生产工艺导致的,所以必须在传输过程中采用图像数据校正的方法解决。两点校正法是最早开展研究的方法之一,也是最为成熟的算法之一,分为标定和校正两个步骤。它有两个前提假设:(1)CCD的光敏单元的响应是线性的。这一假设在CCD响应的中间大部分区域是成立的,只有在输入较小和接近饱和时才有比较大的非线性;(2)CCD的响应必须具有时间上的稳定性。两点定标校正法对具有线性响应的CCD具有很好的校正效果,且易于硬件实现和实时校正。本专利技术使用纯白和纯黑两种颜色作为标定点,得到线性校正公式(1),其中W表示扫描纯白色图片的灰度值,B表示纯黑色图片的灰度值,W和B的理论值分别是255和0,但是对W求平均值为220,对B求平均值为15。由于这两种情况下,CCD的输出均在模数转换器的线性范围中,所以需要对传输图像进行校正,x表示实际CCD实际采集的光敏单元的灰度值,A表示校正后的灰度。由于每个光敏单元的响应特性都存在差异,所以每个光敏单元都需要进行校正,测试并记录每个光敏单元的校正参系数W和B。针对上述公式,本专利技术在结合FPAG的特性后,可以在很大程度上提高了系统的实时性能,同时也保证了非常好的校正效果。正常的CCD器件可以确保即灰度变化范围超过器件的整个线性范围的一半,将表示为1+m,m是一个小数点后保留三位的纯小数,因此,校正公式可表示为:A=(1+m)×x-(1+m)×B(2)而由于FPGA中不能直接存储小数,所以公式(2)中计算出的校正系数不能直接使用。因此,本专利技术对公式(2)做了如下的变换,如公式(3)所示,先将纯小数部分m乘以28,这是考虑到FPGA中最快的处理方式是移位,因此乘28相当于是左移8位,把小数部分提取出来做后续的运算,并且保留(1+m)×x×28结果的整数部分。因为m是纯小数,所以m×256的结果会出现小数部分,用α+β=m×256表示,得到A的新的表达式(4),其中α表示数据的整数部分,β表示数据的小数部分。如此一来,根据计算得到的校正后的灰度值A,即可应用到FPGA主控芯片中进行图像数据的校正处理,然后传输到PC主机中进行处理后输出图像。与现有技术相比,本专利技术具有以下有益效果:(1)本专利技术设计巧妙,原理简单,扫描成像效果佳。(2)本专利技术通过结合FPGA的特性,设计了全新的校正方案,降低了算法对FPGA芯片的性能的依赖性,大幅改进了传统的硬件校正方案,并将其应用到CCD图像输出方面,本专利技术将现有的需要多个时钟周期完成校正的方法改进为只需要1个时钟就能输出数据,并且还通过m值的设计和选取,很大程度上减小了校正误差,使其误差降低至0.5个DN(digitalnumber)以内,并且经试验表明,校正后图像的明暗对比度与图片细节均明显优于校正前。本发本文档来自技高网
...
基于FPGA的线阵CCD成像系统的图像实时校正输出方法

【技术保护点】
基于FPGA的线阵CCD成像系统的图像实时校正输出方法,其特征在于,包括以下步骤:(1)系统上电后,PC主机向FPGA主控芯片发送扫描指令;(2)FPGA主控芯片接收指令后产生时钟信号和控制信号,并控制CCD传感器点亮,并控制CCD传动模块按照PC主机要求的扫描模式控制CCD传感器对扫描对象进行图像采集;同时,FPGA主控芯片中的算法模块将纯白和纯黑两种颜色作为标定点,并按照如下公式分别计算出两个校正参数α和β:255W-B=1+m---(1)]]>α+β=m×256  (2)其中,W表示扫描纯白色图片的灰度值,其值为220,B表示纯黑色图片的灰度值,其值为15,m表示一个小数点后保留三位的纯小数;α为所得数据的整数部分,B为所得数据的小数部分;(3)CCD传感器采集扫描对象的图像数据,并将该图像数据传输至模数转换器,模数转换器在FPGA主控芯片提供的转换时钟信号下,将CCD传感器输出的模拟信号转换成数字信号,并传输到FPGA主控芯片中的算法模块进行处理;(4)算法模块对第一个光敏单元采用如下公式计算其校正后的灰度值A1:A1=x+(α+β)×x28-(1+α+β256)×B]]>其中,X表示CCD传感器实际采集的第一个光敏单元的灰度值;(5)重复步骤(4),直至算法模块将剩余的光敏单元校正后的灰度值A全部算出;(6)FPGA主控芯片将各个光敏单元各自校正后的灰度值A传输至PC主机进行处理,得到完整的图像,然后将图像显示。...

【技术特征摘要】
1.基于FPGA的线阵CCD成像系统的图像实时校正输出方法,其特征在于,包括以下步骤:(1)系统上电后,PC主机向FPGA主控芯片发送扫描指令;(2)FPGA主控芯片接收指令后产生时钟信号和控制信号,并控制CCD传感器点亮,并控制CCD传动模块按照PC主机要求的扫描模式控制CCD传感器对扫描对象进行图像采集;同时,FPGA主控芯片中的算法模块将纯白和纯黑两种颜色作为标定点,并按照如下公式分别计算出两个校正参数α和β:α+β=m×256(2)其中,W表示扫描纯白色图片的灰度值,其值为220,B表示纯黑色图片的灰度值,其值为15,m表示一个小数点后保留三位的纯小数;α为所得数据的整数部分,β为所得数据的小数部分;(3)CCD传感器采集扫描对象的图像数据,并将该图像数据传输至模数转换器,模数转换器在FPGA主控芯片提供的转换时钟信号下,将CCD传感器输出的模拟信号转换成数字信号,并传输到FPGA主控芯片中的算法模块进行处理;(4)算法模块对第一个光敏单元采用如下公式计算其校正后的灰度值A1:

【专利技术属性】
技术研发人员:陈仕隆张峰杨雷赵泽东吕坤
申请(专利权)人:宁波摩视光电科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1