CIS大幅面扫描仪的图像融合拼接方法
技术领域
本发明属于数字图像处理领域,具体涉及一种基于大幅面扫描仪的接触式图像传感器(Contact Image Sensor,CIS)图像采集装置的图像融合与拼接方法。
背景技术
现代光电信息技术的发展突飞猛进,人们对高分辨率、高清晰的数字图像要求也越来越高。随着待扫描介质的物理尺寸变得越来越大,采用多根CIS的大幅面扫描仪应运而生。在CIS大幅面扫描仪系统中,许多因素会给图像采集带来误差,如扫描仪系统本身的复杂性和扫描介质的多样性,各个CIS采集的重叠图像会存在差异性等。因此,CIS大幅面扫描仪的图像融合与拼接成为重要的技术难点。
目前,传统的大幅面扫描仪的图像拼接方法主要是利用图像配准计算后直接进行图像硬拼接。因为不同CIS采集的重叠图像会存在一定的差异,所以采用直接方法拼接后,扫描图像将呈现出较为明显的拼接缝,降低了扫描图像的主观视觉质量。
针对这种情况,本发明给出了一种专门针对CIS大幅面扫描仪的图像融合拼接方法,用以获得高质量的扫描图像。
发明内容
本发明提供了一种基于CIS大幅面扫描仪的图像融合拼接方法,目的是解决现有的CIS大幅面扫描仪存在扫描的图像间边缘部分像素不匹配,扫描图像存在明显拼接缝的问题。为了实现上述目的,本发明采用的技术方案如下:
1.边缘信息提取
准备一张大幅面样稿,并对其进行扫描。N根平行安装的CIS图像采集装置可获得数字图像I(1),I(2)...I(k),I(k+1),其中k∈[1,2...N-1]。定义图像I(k)的大小为width×height,i∈[1,2...width],j∈[1,2...height]。
分别提取原始图像I(k)和I(k+1),的三个RGB分量矩阵[R(k)G(k)B(k)]和[R(k+1)G(k+1)B(k+1)],其中,
利用公式
将矩阵R(k)归一化得到γ(k),其中eps为浮点数极小常量,以防止除零。
基于脉冲耦合的神经网络方法的参数初始化。矩阵L,U,Y0,Y是与γ(k)维数相同且元素均为0的矩阵,相应网络的参数初始化为aL=1,aT=0.2,β=0.2,vL=0.2,vT=20,θ是维数和输入图像相同且元素均为1的矩阵,迭代次数count=15,卷积核矩阵为
利用公式
U=γ(k)·(1+β·L*) (4)
Y0=Y0+Y
其中,公式(2)中的代表卷积运算;公式(6)中,ui,j∈U,
将神经网络方法的各参数进行迭代count次,得到最终的Y0(元素为0和1),即为R分量的边缘信息矩阵E(k)|R。
2.最佳行窗口匹配
以图像I(k)的第t行为中心,在I(k)右侧边缘部分选取行数为m(m<M,M为I(k)的总行数,m一般取值为1)的窗口同样,在图像I(k+1)第t行左侧边缘选取相同大小的窗口分别在该窗口周围选取相同大小的窗口其中s为周围的窗口计数。
利用欧拉公式
分别计算出与之间的dk(k+1)(t,s),选出取得min(dk(k+1)(t,s))的窗口,记为
3.融合与拼接
根据窗口和的中心坐标和计算出两窗口的位移矢量
分别提取窗口和窗口的RGB分量矩阵[R(k) G(k) B(k)]和[R(k+1) G(k+1) B(k+1)]。
利用公式
将窗口和窗口数据融合到窗口其中,n为窗口的总列数。
将I(k+1)中窗口所在列及前列数据丢弃,得到新的m行数据。将这m行数据依次拼接到I(k)中窗口后面,形成m行完整的数据。
本发明的一种CIS大幅面扫描仪的图像融合拼接方法能够解决现有的CIS大幅面扫描仪存在扫描的图像间边缘部分像素不匹配、扫描图像存在明显拼接缝的问题,并且计算步骤简洁有效,实用性强。
附图说明
图1为本发明的框架图;
图2为本发明的主要步骤流程图;
图3为本发明的融合拼接的流程图;
图4为寻找最佳匹配行窗口的示意图;
图5为图像行融合拼接的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
图2是基于多CIS大幅面扫描仪的图像融合拼接过程的主要步骤流程图,具体而言包括:
步骤201:初始化基于多CIS大幅面扫描仪的参数。从配置文件中输入一个读取任务需读入的行数length。
步骤202:扫描待拼接样稿。放入待拼接样稿进行扫描。
步骤203:重置任务参数,开始新的任务,将新任务已读取行数置零。
步骤204:读取获得当前扫描行t行的图像数据。
步骤205:从CISk中采集到图像I(k)的t行数据。其中,k∈[1,2...N-1]。
步骤206:判断是否当前读取任务Mi中已读取的总行数length(Mi)≥length,若为真则认为当前任务可以进行融合拼接并转为步骤207,若为假则表示当前任务不能进行融合拼接并转为步骤205。
步骤207:将当前任务中的图像进行融合拼接。
步骤208:判断所有的任务是否完成,如果还有任务则转到步骤203,否则结束。
图3给出了融合拼接的流程图,以图像I(k)和I(k+1)的拼接融合为例,具体而言包括:
步骤301:提取RGB分量。分别提取图像I(k)和I(k+1)的三个RGB分量[R(k) G(k) B(k)]和[R(k+1) G(k+1) B(k+1)]。
步骤302:计算边缘信息。利用公式
将矩阵R(k)和R(k+1)归一化得到γ(k)和γ(k+1),再根据基于脉冲耦合的神经网络方法,分别计算I(k)和I(k+1)的R分量的边缘信息矩阵E(k)|R和E(k+1)|R。
步骤303:寻找最佳匹配窗口。利用欧拉公式,为I(k)中第t行边缘窗口寻找到与之欧拉距离最小的窗口
步骤304:计算位移矢量。根据窗口和的中心坐标和计算出两窗口的位移矢量
步骤305:图像融合。据位移矢量和窗口和的RGB分量(R(k),G(k),B(k))和(R(k+1),G(k+1),B(k+1)),将窗口和进行融合;
步骤306:图像拼接。根据步骤205得到的融合边缘和位移矢量将窗口和所在的行进行拼接。
步骤307:判断是否t≤M(M为图像的总行数),若为真则认为图像的拼接融合还未完成,转向步骤303,继续寻找的匹配窗口若为假则认为图像的融合拼接完成,结束进程。
图4给出了寻找最佳匹配行窗口的示意图,其中401为窗口402为窗口403虚线框为选取其他窗口的范围,404为欧氏距离的计算,405为最佳匹配窗口
步骤401:在图像I(k)的第t行右侧边缘部分选取一个窗口
步骤402:在图像I(k+1)的第t行左侧边缘部分选取与窗口同样大小的窗口
步骤403:在距离上下5行,右边10列的范围内(即虚线框内)选取窗口相同大小的窗口
步骤404:计算欧拉距离。通过欧拉公式
分别计算出与之间的dk(k+1)(t,s)。
步骤:405:选出取得min(dk(k+1)(t,s))的窗口,记为
图5给出了图像一行数据融合拼接的示意图,其中501为窗口502为窗口503为左融合区,504为右融合区,505为左拼接区,506为右拼接区。
步骤501:提取I(k)的窗口的数据[R(k) G(k) B(k)]。
步骤502:提取窗口的数据[R(k+1) G(k+1) B(k+1)]。
步骤503:窗口与的融合。利用公式
将数据融合到左融合区的区域。
步骤504:图像行数据拼接。假设最佳匹配窗口在图像I(k+1)的行,提取左拼接区的t(k)行数据,融合后的区域数据和右拼接区的将这三组数据拼接到一行。