0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用实时高精度拼接方法实现多线阵CCDS相机大幅面扫描仪的设计

电子设计 作者:电子设计 2018-11-23 09:31 次阅读

引言

基于多线阵CCDS相机的拼接型高精度大幅面扫描仪的研制一直是国内、外学者及产业界关注的重点领域,但是由于涉及精密光路设计心1、复杂机械平台、完备硬件系统H1、友好人机界面、智能算法实现这五个关键技术,其中高精度实时拼接技术又是其中的重点难点。迄今为止,基于多线阵CCDS相机的拼接型高精度大幅面扫描仪的全部关键技术基本上被国外跨国公司与大型研究机构所垄断,国内完全依靠进口。

高精度实时拼接技术是多线阵CCDS相机的大幅面扫描仪中的重点难点。由于线阵CCDS相机的视场有限,在视场范围要求大扫描精度高的大幅面扫描仪应用背景下,单个三线阵CCDS相机显然不能满足需求,因此需要多个三线阵相机拼接实现。

拼接最重要的指标是保证图像信息不丢失不错位,最理想的情况是,所有三线阵CCDS相机保持在同一水平面,相邻两个相机采集图像的像素连续。

为了适应拼接型多线阵CCDS大幅面扫描仪这一应用需求,通常采用光学拼接或光学拼接加入软件后续处理¨01.光学拼接通过分光棱镜将多个线阵CCDS相机首位相连,即前一级CCDS相机最后一个有效像素与下一级CCDS相机第1个有效像素相连,其精度要求偏差在1个像素以内,且多个CCDS相机所有像素必须在同一个水平面上,这对机械加工精度要求非常高,相应成本也非常高,其拼接精度随着使用时间增加而降低。光学拼接加入软件后续处理通过将相邻两个CCDS相机有效像素进行重叠以此保证图像信息不丢失,然后将采集到的图像信息保存在电脑内存里,通过软件算法将每个相机采集到的图像数据上下左右平移进行拼接,这种拼接方式对机械的精度要求有所降低,但是对电脑配置要求较高,拼接时间较长需要2 s一3 s,对大幅面扫描仪的实时性有一定影响¨2|.

针对这一问题,深入研究了FPGA/SDRAM/'CCDS的内部结构,通过多次试验验证,提出了一种新的基于多线阵CCDS相机的大幅面扫描仪高精度实时拼接实现新方法一硬件拼接法。

1 基本理论

1.1拼接原理

为了保证相邻相机首尾相连处数据不丢失,必须使两相机之间有效像素部分重合,如图1拼接原理图所示。

采用实时高精度拼接方法实现多线阵CCDS相机大幅面扫描仪的设计

相机1与相机2重叠W1个像素,相机2与相机3重叠W2个像素。将SDRAM的地址分为3个地址分块,相机1对应的初始地址为ADDRESS-1,相机2对应的初始地址为ADDRESS-2,相机3对应的初始地址为ADDRESS_3.三线阵CCDS相机逐行扫描,将3个相机采集到的每一行数据分别连续存储到SDRAM开辟的3个地址分块里,因为SDRAM的地址与数据一一对应,知道每一行数据的首地址,通过对偏移量的设置,从指定每行数据首地址位开始连续读取数据即可对3个相机的数据进行实时拼接。

1.2拼接过程中出现的实际情况与处理方法

实际过程中,由于机械平台加工的精度问题,3个相机可能不在同一水平面上,并且相邻两相机的重叠像素部分也不一定相同,就造成常规数据传输中有错位现象产生。根据实验与分析,拼接过程中会出现6种可能情况,如图2(a)、2(b)、2(c)、2(d)、2(e)、2(f)所示。

采用实时高精度拼接方法实现多线阵CCDS相机大幅面扫描仪的设计

图2(a)为相机l水平位置大于相机2水平位置。相机2水平位置大于相机3水平位置时,图像有效数据错位情况。图2(b)为相机1水平位置小于相机2水平位置,相机2水平位置小于相机3水平位置时。图像有效数据错位情况。图2(c)为相机2水平位置大于相机l水平位置,相机l水平位置大于相机3水平位置时,图像有效数据错位情况。

图2(d)为相机2水平位置大于相机3水平位置,相机3水平位置大于相机1水平位置时,图像有效数据错位情况。图2(e)为相机3水平位置大于相机1水平位置,相机1水平位置大于相机2水平位置时,图像有效数据错位情况。图2(f)为相机1水平位置大于相机3水平位置,相机3水平位置大于相机2水平位置时,图像有效数据错位情况。

因此需要先确定扫描仪3个相机处于何种位置情况,相机每一行像素个数为L=5340个,上位机根据特定情况设定H1、H2、W1、w2的值,根据H1、H2、W1、W2的预设值计算出需要缓存数据最大行数,相机2每行缓存数据的读出首地址与末地址,相机3每行缓存数据的读出首地址与末地址,最后顺序读写出每一个相机缓存数据传输到上位机实时显示。

图2所示6种情况中的写缓存初始地址都是一致的,即,相机1写缓存初始地址ADDRESS-WRITEBUFFER.1=ADDRESS一1,相机2写缓存初始地址ADDRESS-WRITEBUFFER_2=ADDRESS_2,相机写缓存初始地址ADDRESS-WRITEBUFFER一3=ADDRESS_3.

针对图2(a)的情况,需缓存BUFFER-LINE=H1+H2+1行数据,相机2连续写人H1+1行数据后需对写入地址初始化,相机3连续写人H1+H2+1行数据后需对写入地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1+(H2一H1)·L+H2一H1,相机2写初始地址ADDRESS-WRITE一2=ADDREsS一2+H2·L+H2,相机3写初始地址ADDRESS-Wr{ITE_3=ADDRESS_3.相机1读初始地址ADDRESS-READ一1=ADDRESS一1+(H1+H2)·L+H1+H2,相机2读初始地址ADDRESS-READ_2=ADDRESS_2+H2·L+W1+H2,相机3读初始地址ADDRESS-READ_3=ADDRESS._3+W2.

针对图2(b)的情况,需缓存BUFFER-LINE=HI+H2+l行数据,相机1连续写入H1+H2+1行数据后需对写入地址初始化,相机2连续写入H2+l行数据后需对写人地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1,相机2写初始地址ADDRESS-WrtlTE_2=ADDRESS_2+H1·L+H1,相机3写初始地址ADDRKSS_WRrI'E_3=ADDRESS_3+(H1+H2)·L+H1+H2.相机1读初始地址ADDRESS-READ一1=ADDRESS一1,相机2读初始地址ADDRESS-READ一2=ADDRESS一2+H1·L+W1+Hl,相机3读初始地址ADDRESS-READ一3=ADDRESS 3+(Hl+H2)·L+Hl+H2+W2.

针对图2(c)的情况,需缓存BUFFER-LINE=H2+1行数据,相机1连续写入H1+1行数据后需对写入地址初始化,相机3连续写人H2+1行数据后需对写入地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1+(H2一H1)·L+H2一H1,相机2写初始地址ADDRESS-WRITE一2=ADDRESS一2+H2·L+H2,相机3写初始地址ADDRESS-WRITE_3=ADDRESS一3.相机1读初始地址ADDRESS_READ一1=ADDRESs一1+(H2一H1)·L+H2一H1,相机2读初始地址ADDRESS-READ一2=ADDRESS一2+I-12·L+w1+H2,相机3读初始地址ADDRESS_READ_3=ADDRESS_3+W2.

针对图2(d)的情况,需缓存BUFFER-LINE=Hl+1行数据,相机l连续写入Hl+l行数据后需对写入地址初始化,相机3连续写人H2+1行数据后需对写入地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1,相机2写初始地址ADDRESS-WRITE一2=ADDRESS一2+H1·L+W1+HI,相机3写初始地址ADDRESS-WRITE一3=ADDRESS._3+(H1一H2)·L+HI-H2.相机1读初始地址ADDRESS-READ一1=ADDRESS一1,相机2读初始地址ADDRESS-READ一2=ADDRESS一2+Hl·L+W1+H1,相机3读初始地址ADDRESS-READ一3=ADDRESS_3+(H1一H2)·L+H1一H2+W2.

针对图2(e)的情况,需缓存BUFFER-LINE=H2+1行数据,相机1连续写入H2一HI+1行数据后需对写入地址初始化,相机2连续写入H2+1行数据后需对写入地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1+H1·L+H1,相机2写初始地址ADDRESS-WRITE一2=ADDRESS一2,相机3写初始地址ADDRESS-WRITE-3=ADDRESS一3+H2·L+H2.相机1读初始地址ADDRESS-READ一1=ADDRESS一1+HI·L+H1,相机2读初始地址ADDRESS-rtE,~D._2=ADDRESS_2+Wl,相机3读初始地址ADDRESS-r{EAD_3=ADDRESS_3+H2·L+H2+W2.

针对图2(f)的情况,需缓存BUFFER-LINE=H1+l行数据,相机2连续写入H1+1行数据后需对写入地址初始化,相机3连续写入H1一H2+1行数据后需对写入地址初始化。相机1写初始地址ADDRESS-WRITE一1=ADDRESS一1+H1·L+H1,相机2写初始地址ADDRESS-WRITE一2=ADDRESS一2,相机3写初始地址ADDRESS_WRITE_3=ADDRESS_3+H2·L+H2.相机1读初始地址ADDRESS-READ一1=ADDRESS一1+H1·L+H1,相机2读初始地址ADDRESS-READ_2=ADDRESS_2+W1,相机3读初始地址ADDRESS-READ一3=ADDRESS一3+H2·L+H2+W2.

2实验结果与讨论

2.1方法执行过程

多线阵CCDS相机的大幅面扫描仪高精度实时拼接实现新方法流程如图3所示。根据主要器件的特性,上电后需对FPGA、SDRAM初始化,使其处于正常工作状态。从上位机获取H1、H2、W1、W2的预设值,判别相机位置处于何种情况。定义H1最高位为1时,相机l水平位置高于相机2水平位置,H1最高位位为0时,相机1水平位置低于相机2水平位置。定义I-12最高位为1时,相机2水平位置高于相机3水平位置,H2最高位为0时,相机2水平位置低于相机3水平位置。图2所示6种情况分对应H1、H2预设值的6种状态。H1最高位为1,H2最高位为l时对应图2(a);H1最高位为0,H2最高位为0时对应图2(b);HI最高位为0,I-12最高位为1,且Hl小于I-12时对应图2(c);H1最高位为0,H2最高位为l,且H1大于等于H2时对应图2(d);H1最高位为l,H2最高位为0,且H1小于H2时对应图2(e),Hl最高位为1,H2最高位0,且Hl大于等于H2时对应图2(f)。获取预设值后就进行数据缓存,按照相机编号逐行读出图像数据,判断读地址是否需要初始化,按照相机编号逐行写人图像数据,判断写地址是否需要初始化,最后判断是否接收到上位机发出的结束信号

采用实时高精度拼接方法实现多线阵CCDS相机大幅面扫描仪的设计

2.2大幅面扫描仪上的实际使用效果

采用多线阵CCDS相机的大幅面扫描仪高精度实时拼接实现新方法后,3个相机图像数据能够实时拼接传输,图像水平错位现象得以解决,重叠部分裁剪后实现无缝拼接。经分析测试,H1=56,H2=6,W1=118,W2=168,且Hl最高位为0,I-12最高位为0,即对应图2(b)所示情况。图4(a)为采用新方法前相机1与相机2拼接效果图,图4(b)为采用新方法后相机1与相机2拼接效果图。图5(a)为采用新方法前相机2与相机3拼接效果图,图5(b)为采用新方法后相机2与相机3拼接效果图。图6为拼接型大幅面扫描仪整机图,图7为硬件拼接核心板。

3 结论

通过对基于多线阵CCDS相机的大幅面扫描仪拼接方法的深入分析,并比较现有的通行方式,提出了一种高精度实时拼接的新方法,制作了国内第一台基于多线阵CDDS相机的拼接型大幅面扫描仪,解决了拼接过程中水平错位、无缝拼接的难题。

实验及测试结果表明:项目组制作的大幅面扫描仪最大幅面A0,光学分辨率高达l 200 DPI,扫描速度达到2.54 cm/s,扫描及拼接精度能达到+/一l像素,能够进行实时拼接传输。

高精度实时拼接新方法在该扫描装备的成功实施。解决了在基于多线阵CCDS相机的大幅面拼接型高精度扫描仪的诸多难题,填补了该领域的工程应用空白。据我们所知,在应用上成功实现大幅面拼接性高精度一次性成像扫描仪的高精度实时硬件拼接,国内、外未见报道。

在以后的工作中,将对高精度实时硬件拼接进行进一步的优化处理,并在速度保障的情况下,争取进一步提高图像质量,能够更加接近理想状态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7004

    浏览量

    88944
  • 相机
    +关注

    关注

    4

    文章

    1350

    浏览量

    53584
  • 扫描仪
    +关注

    关注

    2

    文章

    422

    浏览量

    67844
收藏 人收藏

    评论

    相关推荐

    扫描仪大幅面

    扫描仪大幅面         
    发表于 12-29 10:56 1051次阅读

    选购大幅面扫描仪注意事项

    选购大幅面扫描仪注意事项 扫描仪是我们配置的最基本的外设,而扫描仪中最为“尊贵”的无疑是大幅面扫描仪
    发表于 12-29 11:41 1074次阅读

    大幅面扫描仪的类型

    大幅面扫描仪的类型 大幅面扫描仪根据产品的结构和扫描方式可分为:平板式大幅面
    发表于 12-30 17:51 937次阅读

    大幅面扫描仪的消蓝功能

    大幅面扫描仪的消蓝功能              对于保存时间较
    发表于 12-30 17:55 1313次阅读

    大幅面扫描仪扫描速度

    大幅面扫描仪扫描速度              大幅面
    发表于 12-30 18:00 909次阅读

    大幅面扫描仪扫描幅面/大幅面扫描仪的光源

    大幅面扫描仪扫描幅面/大幅面扫描仪的光源      &
    发表于 12-30 18:03 1268次阅读

    大幅面扫描仪技术术语:Turbo模式(加速模式)

    大幅面扫描仪技术术语:Turbo模式(加速模式) 在大幅面扫描仪的速度测试中,经常会遇到两种不同的检测标准,即:光学200dpi模式;4
    发表于 03-18 10:10 1137次阅读

    大幅面扫描仪技术术语:WIA/TWAIN

    大幅面扫描仪技术术语:WIA/TWAIN Windows 图像采集 (WIA) 是最新 imaging 技术,在Microsoft Windows Millennium Edition中引入, 包含在更高版本的 Micros
    发表于 03-18 10:11 2451次阅读

    大幅面扫描仪技术术语:2D LEDs/对称双光源

    大幅面扫描仪技术术语:2D LEDs/对称双光源 2D LEDs就是对称双光源。 大多数采用CIS成像方式的大幅面扫描仪
    发表于 03-18 10:17 938次阅读

    大幅面扫描仪技术术语:APT (Active Paper T

    大幅面扫描仪技术术语:APT (Active Paper Transport) APT (Active Paper Transport) APT 就是动态纸张传输系统。馈纸式大幅面扫描仪
    发表于 03-18 10:18 783次阅读

    大幅面扫描仪技术术语:ASRPT (单滚筒纸张传输系统)

    大幅面扫描仪技术术语:ASRPT (单滚筒纸张传输系统) ASRPT 是(Advanced Single Roller Paper Transportis)的缩写。Colortrac SmartLF Ci 40大幅面
    发表于 03-18 10:20 995次阅读

    大幅面扫描仪技术术语:CIS (Contact Image

    大幅面扫描仪技术术语:CIS (Contact Image Sensor) CIS (Contact Image Sensor) 大幅面扫描仪使用的成像方式通常只有两种,一种是CI
    发表于 03-18 10:22 2692次阅读

    大幅面扫描仪技术术语:CCD (Charge Coupled

    大幅面扫描仪技术术语:CCD (Charge Coupled Device) CCD (Charge Coupled Device) 大幅面扫描仪使用的成像方式通常只有两种,一种是
    发表于 03-18 10:23 2358次阅读

    大幅面扫描仪技术术语:MTM (Motorised Thic

    大幅面扫描仪技术术语:MTM (Motorised Thick Media) MTM(动力加厚系统) Colortrac SmartLF Gx 系列大幅面扫描仪 中“T”系列的型号
    发表于 03-18 10:35 903次阅读

    大幅面扫描仪技术术语:阈值

    大幅面扫描仪技术术语:阈值 阈值 阈值是定义“黑色与白色”的参考值,阈值命令将灰度或彩色图像转换为高对比度的黑白图像。您可以
    发表于 03-18 10:38 2442次阅读