一种图像采集系统的制作方法

文档序号:16546703发布日期:2019-01-08 20:53阅读:135来源:国知局
一种图像采集系统的制作方法

本发明涉及一种图像采集系统,能够实现对不同分辨率、不同输出接口的相机进行实时图像显示、检测和图像数据存储。



背景技术:

目前,商用和工业领域的相机种类繁多,不同型号的相机的图像分辨率、输出接口大不相同,有并行lvds、rs422、camlink、sdi、pal等多种图像输出接口。在相机的研制过程或者出厂检测时,尤其是批量产品生产检测过程中,需要不同的测试设备对不同型号相机的图像进行检测,增加了相机研制和出厂检测的成本,增加了研制时间,降低了工作效率。

市场上有各种各样的图像采集卡或者图像采集设备,种类繁多,但是这些设备主要存在以下缺陷:

1、只针对某一种图像输出接口进行数据采集,具有较强的针对性,不具备通用性的检测功能。

2、针对不同输出接口的相机,需要购买不同的图像采集卡与之接口对接,导致会采购大量的采集设备,成本增加;

3、不同图像采集卡的上位机软件不尽相同,底层驱动代码不一样,不同公司开发出来的代码互不兼容,不便于批量生产的检测与测试。

4、不具备提供相机工作所需电源电压的能力,需要增加外部电源设备对需检测的相机进行供电。

5、若购买国外的图像采集卡使用,成本高,且不掌握核心技术。不便于再保密安全领域使用,且对图像采集卡的工作状态无法实现全程可控。

6、不具备自检功能。



技术实现要素:

为解决背景技术中存在的问题,本发明设计一种图像采集系统,其能够适用于对不同分辨率、不同图像输出接口的相机,并且具备自检功能,实现对自身系统误差进行检测,大大提高了图像采集工作的工作效率和可靠性。

本发明采用的具体技术方案是:

本发明提供了一种图像采集系统,包括相机和上位机;其改进之处在于:还包括分别与相机和上位机相互通讯的相机通用检测设备;

相机通用检测设备包括子板以及母板;

子板包括第一基板、设置在第一基板上的n个相机接口、n个接口芯片、n个电平转换芯片以及第一电连接器;

母板包括第二基板、设置在第二基板上的电源模块、第二电连接器、fpga芯片、sdram芯片、串行uart接口以及数据传输接口;

第一电连接器和第二电连接器是板间电连接器,通过这两个电连接器将第一基板和第二基板互联起来;

相机图像输出接口与第一基板上的接口芯片、相机接口、电平转换芯片电连接,用于对图像数据进行传输和处理;

第二基板上的sdram芯片、串行uart接口以及数据输出接口均与fpga芯片电连接;

串行uart接口与上位机电连接用于接收上位机发送的控制指令,数据输出接口与上位机通过千兆以太网实现物理连接,通过标准的udp协议实现相互通讯;

电源模块用于给相机供电。

进一步地,所述fpga芯片上运行的模块包括:图像接口控制模块、图像数据缓存模块、虚拟相机控制模块、以太网数据打包模块、以太网发送模块、sdram控制模块以及uart模块;

图像接口控制模块针对不同的接口的相机产生不同的时序接口波形,控制接口芯片完成相机图像数据的正确采集;

图像数据缓存模块将采集到的图像数据缓存到fpga内部的fifo中,并在缓存到特定fifo深度的时候,通知以太网数据打包模块读取fifo内部的数据,并按照协议进行打包;

虚拟相机控制模块根据上位机的指令设置,产生不同分辨率的15个虚拟相机图像,且在同一时刻,只产生一种虚拟相机图像用于对相机自身进行检测;

以太网数据打包模块根据上位机的指令设置,选择“图像数据缓存模块”或者“虚拟相机控制模块”中的其中一个,读取其中的数据进行以太网数据打包;

以太网发送模块依据千兆以太网接口的rgmii接口时序,将打包后的数据,通过rgmii接口发送出去;

sdram控制模块在fpga内部的fifo有限的情况下,将部分要缓存的数据缓存到sdram芯片中;

uart模块用于实现与上位机或者其他uart接口之间的数据通讯,实时回报相机通用检测设备的工作状态。

进一步地,虚拟相机控制模块产生的15个虚拟相机图像具体是:

图像1:每行图像数据相同;每行图像数据的第一个像素点数据0,其他像素点依次加1;

图像2:每个像素点的数据值相同,均为200;

图像3:所有像素点的数值在200附近随机发生变化,变化幅度小于10;

图像4:每行第一个像素点的值相同,均为200,且每行中下一个像素点的值比上一个像素点的值大10;

图像5:图像中左上角第一个像素点的值为0,然后从左至右依次累加10,直至累加到图像右下角的最后一个像素点;

图像6:图像每行的第一个像素点的值相同,均为0,且每行中下一个像素点的值比上一个像素点的值大10;

图像7:图像中心为是一个正方形区域,正方形区域对角线上的像素点的值为255,在图像整个画幅一半大小的行和列上,分别有横线和竖线组成的矩形,矩形的行和列上的像素点值为255,矩形内部的像素点值为0;该图像用于观测图像有无错行错列;

图像8:图像上每列像素的值相同,每隔20列,像素值增加10;

图像9:图像上每行像素的值相同,每隔20行,像素值增加10;

图像10:用于红外相机图像检测,低温图像,像素值0x23ee,在固定的行列位置插入不同的像素值,表明传感器的坏点;

图像11:用于红外相机图像检测,高温图像,像素值0x29aa,在固定的行列位置插入不同的像素值,表明传感器的坏点;

图像12:用于红外相机图像检测,常温图像,像素值0x2736,在固定的行列位置插入不同的像素值,表明传感器的坏点;

图像13:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x20ee+1*n,其中n为温度变化系数;

图像14:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x26aa+7*n,其中n为温度变化系数;

图像15:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x2436+5*n,其中n为温度变化系数。

进一步地,所述n个相机接口分别为camlink接口或串行lvds接口或并行lvds接口或串行rs422接口或sdi接口或pal接口或hdmi接口,相适配的,所述接口芯片为对应的型号为ds90cr288a或sn65lv1224或ds90lv032或max3490ds26lv32atm或sil9024a或adv7180或gv7601-ibe3。

进一步地,所述串行uart接口为rs485接口和rs422接口。

进一步地,所述数据输出接口为rj45接口和光纤接口。

进一步地,所述第二基板上还设置有usb接口,usb接口是与上位机通讯的备用接口,适合使用笔记本电脑在外场调试的情况。

该图像采集系统进行图像采集的基本原理包括以下两个步骤:

【1】相机通用检测设备自检;

相机通用检测设备在上位机的指令控制下,实现自检功能,具体是:相机通用检测设备上电后,待千兆以太网连接正常后,上位机软件下发自检指令,并设定虚拟相机通道号,fpga内部逻辑软件在接收到自检指令之后,进行指令解析,产生对应虚拟相机的图像,并通过以太网发送模块,将产生的虚拟相机图像通过网口发送给上位机;

从上位机上观测显示的虚拟相机图像与预设的图像是否一致,以及网络数据传输过程中图像数据丢帧是否出现,来判别相机通用检测设备是否工作正常;如果上位机软件上显示的图像与预设图像一致,并且网络传输过程中无丢帧现象,则说明相机通用检测设备工作正常。在相机通用检测系统工作正常的情况下,对被测相机进行测试,

若观测显示的图像有问题出现,则能立即判别出被测相机出了问题,方便批量产品的生产和测试。

【2】图像采集

将相机通用检测设备与被测相机连接,然后上电,待相机通用检测设备的千兆以太网接口连接正常之后,上位机发送指令,启动对被测相机的图像采集和传输,相机通用检测设备收到指令后,对指令进行解析,将采集到的相机图像数据依据协议打包,通过以太网发送给上位机解析并显示。

相机通用检测系统的自检模式和图像采集模式都是在上位机指令控制下完成的,用户可以系统上电之后,随时切换相机用通检测设备的工作模式,满足用户测试的不同需求。

本发明的有益效果是:

1、本发明的相机通用检测设备开发出多款不同相机接口的子板,且子板和母板采用板间电连接器进行互联,方便不同的相机接口进行对接,从而可以方便的根据相机接口的不同,将子板进行替换,快速实现检测系统对不同接口相机的对接,大大提高设备的通用性。

2、本发明中的相机通用检测设备在没有连接待测相机时,本身具有自检功能,它能够通过fpga中运行的虚拟相机控制模块模拟产生与待测相机相同分辨率和帧频的图像数据,从而在对待测相机检测之前,完成检测系统自身功能和性能的验证。其带来的优点如下:

a、检测系统自身具有自检功能,能在对待测试相机检测之前,验证自检系统自身是否工作正常,避免因自检系统的问题,导致相机检测错误;

b、将大大方便上位机图像检测软件的开发人员,提前进行上位机软件的二次开发;

c、模拟产生15种不同的图像数据,15种图像的行、列数据不尽相同,便于对待测相机的图像进行比对,快速发现被测相机图像传感器的坏点;

d、提高检测系统在不同的应用场合的适用能力。

3、本发明中相机通用检测系统采集到的图像数据,是通过千兆以太网线缆上传给上位机的,同时通过标准udp协议进行相互通讯的,因此,只需完成网口驱动的软件开发,便可以接收到检测设备上传的图像数据。

4、本发明中的母板上集成电源模块,其目的为了方便外场测试,相机通用检测设备具备对相机进行供电的能力,这样就可以不需要额外增加外部电源设备对需检测的相机进行供电。

附图说明

图1为图像采集系统的结构简图;

图2为子板的电路框图;

图3为母板的电路框图;

图4为fpga芯片的框架图;

图5为电源模块进行电源转换的示意图;

图6为上位机采用的工作界面图;

图7为udp参数设置交互界面;

图8为操作控制区交互界面变化示意图。

图9为15个虚拟相机图像中的图像1的样式。

图10为15个虚拟相机图像中的图像2的样式。

图11为15个虚拟相机图像中的图像3的样式。

图12为15个虚拟相机图像中的图像4的样式。

图13为15个虚拟相机图像中的图像5的样式。

图14为15个虚拟相机图像中的图像6的样式。

图15为15个虚拟相机图像中的图像7的样式。

图16为15个虚拟相机图像中的图像8的样式。

图17为15个虚拟相机图像中的图像9的样式。

图18为15个虚拟相机图像中的图像10的样式。

图19为15个虚拟相机图像中的图像11的样式。

图20为15个虚拟相机图像中的图像12的样式。

图21为15个虚拟相机图像中的图像13的样式。

图22为15个虚拟相机图像中的图像14的样式。

图23为15个虚拟相机图像中的图像15的样式。

具体实施方式

如图1所示,本发明提供的图像采集系统包括相机、上位机以及相机通用检测设备;相机通用检测设备通过线缆与相机互连,实时采集相机输出的图像数据并进行缓存,然后通过千兆以太网将采集到的各种数据上传给上位机。上位机将收到的图像数据解析之后,实时直观的显示,并具有画面截屏、保存的功能。

相机通用检测设备同时能够接收上位机的指令信号,实现对相机或者相机通用检测设备内部各种参数的设置,发送相应的指令信号给相机,实现对相机的各种参数的配置。

相机通用检测设备可以同时实现单台、多台相机的检测,完成对相机图像的实时监测、显示和数据存储。

便携式相机通用检测系统千兆以太网接口部分,采用自主研发完成的《一种基于fpga的高带宽以太网ip核》(发明专利号:zl201410158047.0),实现千兆以太网接口的互联数据传输。

相机通用检测设备相机通用检测设备的硬件电路采用模块化设计,包括子板和母板。

如图2所示:子板包括第一基板、设置在第一基板上的n个相机接口、n个接口芯片、n个电平转换芯片以及第一电连接器;

子板上相机接口和接口芯片如下表所示:

表1

另外,为了实现批量相机产品的快速测试,设计一块子板可以同时与多台相机连接起来。图像采集时,采用分时调度的原则,每台相机采集完毕一帧完整的图像后就切换到下一台相机进行采集,轮循完成与子板相连的多台相机的实时测试。这样,该通用检测设备就可以实现对多台相机的实时测试。本实施例中采用的是8台,分辨率是640x480,帧频是100帧/秒的相机。

如图3和图4所示,母板包括第二基板、设置在第二基板上的电源模块、第二电连接器、fpga芯片、sdram芯片、串行uart接口以及数据输出接口;

第一电连接器和第二电连接器是板间电连接器,通过这两个电连接器将第一基板和第二基板互联起来;

相机图像输出接口与第一基板上的接口芯片、相机接口、电平转换芯片电连接,用于对图像数据进行传输和处理;

第二基板上的sdram芯片、串行uart接口以及数据输出接口均与fpga芯片电连接;

串行uart接口与上位机电连接用于接收上位机发送的控制指令,数据输出接口与上位机通过千兆以太网实现物理连接,通过标准的udp协议实现相互通讯。串行uart接口为rs485接口和rs422接口。数据输出接口为rj45接口和光纤接口。

电源模块包括集成在第一基板上的一块ltm4644芯片和两块ptn7800芯片,用于向外部相机提供三种不同的电源,分别是:dc+28v、dc+12v、dc+5v,其电源转换示意图,如5图所示。相机通用检测设备能够向外部提供三种不同的电源:dc+28v、dc+12v、dc+5v,可供被测相机选择使用。

子板上实现相机接口转换和图像接收,将相机图像数据进行串并转换,或者ad采集,或者电平转换之后,将电平转换为母板能接收的lvttl电平信号,通过子板与母板之间的板间电连接器(第一电连接器和第二电连接器),将采集到图像数据发送到到fpga芯片。设计研发出针对不同相机接口的子板硬件电路,开发出多款不同接口的子板电路板,方便与不同的相机接口进行对接。但是不同类型的子板与母板之间的板间电连接是一致的,从而可以方便的根据相机接口的不同,将子板进行替换,快速实现检测系统对不同接口相机的对接。

母板上的fpga芯片是相机通用检测设备的核心器件,它控制着整个检测设备的正常运行。fpga内部软件模块之间的相互关系,如下图所示:

图像接口控制模块:针对不同的接口的相机,图像接口控制模块产生不同的时序接口波形,控制接口芯片完成相机图像数据的正确采集。在该模块设计时,将多种不同接口时序的子模块分别实现,然后将这些子模块封装在一个大的接口模块中。根据相机接口的不同,在上位机指令的控制下,选择大的接口模块中的其中一个符合相机接口的子模块工作,其余子模块不工作。这样,就完成了对不同相机接口子板的适配。

图像数据缓存模块:将采集到的图像数据缓存到fpga内部的fifo中,并在缓存到特定fifo深度的时候,通知以太网数据打包模块读取fifo内部的数据,并按照协议进行打包。

虚拟相机控制模块:根据指令的设置,依据指令产生不同分辨率的15个虚拟相机图像,且在同一时刻,只产生一种虚拟相机图像。

以太网数据打包模块:根据上位机指令设置,选择“图像数据缓存模块”或者“虚拟相机控制模块”中的其中一个,读取其中的数据进行以太网数据打包。

以太网发送模块:依据千兆以太网接口的rgmii接口时序,将打包后的数据,通过rgmii接口发送出去。

sdram控制模块:在fpga内部数据缓存区有限的情况下,将部分要缓存的数据通过该模块缓存到fpga片外的sdram芯片中。

uart模块:实现与上位机或者其他uart接口之间的数据通讯,实时回报相机通用检测设备的工作状态。

为了实现不同场合,不同试验环境的要求,相机通用检测设备具有可配置性,以便在各种不同的网络环境中应用。

相机通用检测设备在与上位机交互的过程中,网络数据全部采用udp协议进行数据通信。

检测设备内部的初始化配置参数如表2所示:

表2

为了保证设计的可靠性和通用性,检测设备采用业界标准的udp网络数据协议。相机通用检测设备发送给上位机软件的网络帧,简称为图像数据帧。上位机软件给相机通用检测设备发送的网络帧,简称为命令帧。

下面分别就这两种网络帧的具体格式定义说明如下。

1)命令帧

命令帧用来对检测设备自身和相机进行设置,配置用户需要改变的各种参数。命令帧分为两种,一个命令帧用来设置检测电路内部的各种参数,另一个命令帧用来设置所检测相机的各种参数。这两个命令帧通过udp端口号进行区别,两者的端口号分别为0x1f90、0x1f9c。

命令帧必须具备以下特点:

1)命令帧必须是标准的udp协议帧;

2)命令帧的长度固定是160字节;

3)命令帧的端口号必须符合相应的udp目的端口号。

检测设备自身参数设置命令帧

下面,首先将检测设备自身设置的命令帧(端口号0x1f90),具体协议说明如表3所示,协议中的具体数据均以十六进制的数值表示。

相机参数设置命令帧

下面,首先将相机参数设置的命令帧(端口号0x1f9c),具体协议说明表4所示,协议中的具体数据均以十六进制的数值表示,帧长度为160字节。

表4

虚拟相机控制模块使得相机通用检测设备本身具有自检功能,它能够模拟产生不同分辨的各种样式的原始图像,并将原始图像正确显示出来,这样也将大大方便对图像的质量进行观测。

通信协议中设置的虚拟相机通道号指的就是相机通用检测设备可以模拟产生的虚拟相机图像数据个数,本实施例中可以模拟虚拟相机图像共15个。每个虚拟相机图像数据不相同,从而便于对图像行、列数据进行测试。检测设备将根据命令帧中相机通道数的不同产生不同的图像数据。这15个虚拟相机图像的具体如下:

图像1:每行图像数据相同;每行图像数据的第一个像素点数值0,其他像素点依次加1,如图9;

图像2:每个像素点的数值相同,均为200,如图10;

图像3:所有像素点的数值在200附近随机发生变化,变化幅度小于10,如图11;

图像4:每行第一个像素点的数值相同,均为200,且每行中下一个像素点的值比上一个像素点的数值大10,如图12;

图像5:图像中左上角第一个像素点的数值为0,然后从左至右依次累加10,直至累加到图像右下角的最后一个像素点,如图13;

图像6:图像每行的第一个像素点的数值相同,均为0,且每行中下一个像素点的值比上一个像素点的数值大10,如图14;

图像7:图像中心为是一个正方形区域,正方形区域对角线上的像素点的值为255,在图像整个画幅一半大小的行和列上,分别有横线和竖线组成的矩形,矩形的行和列上的像素点值为255,矩形内部的像素点值为0;该图像用于观测图像有无错行错列;如图15;

图像8:图像上每列像素值相同,每隔20列,像素值增加10,如图16;

图像9:图像上每行像素值相同,每隔20行,像素值增加10如图17;

图像10:用于红外相机图像检测,低温图像,像素值0x23ee,在固定的行列位置插入不同的像素值,表明传感器的坏点如图18;

图像11:用于红外相机图像检测,高温图像,像素值0x29aa,在固定的行列位置插入不同的像素值,表明传感器的坏点,如图19;

图像12:用于红外相机图像检测,常温图像,像素值0x2736,在固定的行列位置插入不同的像素值,表明传感器的坏点,如图20;

图像13:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x20ee+1*n,其中n为温度变化系数,如图21;

图像14:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x26aa+7*n,其中n为温度变化系数,如图22;

图像15:图像上的像素值随着图像传感器的温度发生变化,图像像素值为0x2436+5*n,其中n为温度变化系数,如图23;

本例中相机通用检测设备能够支持检测的图像位数、相机种类、图像视频格式和相机硬件电路接口具体是:

1)支持检测的图像像素点位数

a)8bits;b)12bits;c)16bits

2)支持相机种类

a)红外相机b)可见光相机c)面阵相机

d)线阵相机

3)支持检测图像/视频格式

a)原始数据图像(raw格式)b)彩色rgb图像

c)bayer格式d)ycbcr格式e)jpeg压缩图像

f)高清/标清h.264压缩视频

g)h.264压缩视频与jpeg压缩图像混合

4)支持相机硬件接口类型

a)camlink接口b)并行lvds接口c)串行lvds接口

d)高清hdmi接口e)标清pal接口f)高清sdi接口

g)同步、异步rs422接口

上位机

上位机通过千兆以太网网线与相机通用检测设备连接,上位机采用的工作界面如下图6所示。工作界面分为操作控制区域、工作模式选择区域、图像显示区域、状态栏显示区域、菜单区域、参数设置区域等部分。

该软件能对接收到的rgb、bayer、ycbcr格式图像流数据的稳定解析、实时插值、显示、存储、数据后处理等功能。

相机通用检测设备发送的udp数据帧是巨型帧,计算机网络设置要允许巨型帧接收,设置ip地址为192.168.0.*,默认rgb数据处理功能占用端口号为8090,bayer数据处理功能占用端口号为8091,ycbcr数据处理功能占用端口号为8092。软件运行前首先设置图像参数,如图7所示。

参数设置区域包括网卡/路径设置区域和udp参数设置区域,功能是设置与插值处理软件相关的参数。网卡/路径设置模块对网卡选择、.bmp图片保存路径、视频流保存路径进行设置。程序架构通过动态设置udp包属性参数,从而支持多种图像分辨率模式,

操作控制区域包括数据捕获、停止捕获、截图、相机开关机功能。选择相应模式后,点击“捕获数据”,程序通过udp协议分别经由相应端口号与高清摄像机进行通信获取数据。在程序运行过程中,可随时点击“截图”按钮进行当前传输数据流图像的保存处理,保存格式为.bmp,交互界面如图8所示。

图像显示区域功能是在相应工作模式下,接收数据采集模块采集到的相应格式图像流数据,经由directshow插值解码器(filter),将图像流数据进行相应专用插值算法处理,从而在充分考虑程序运行效率的前提下,将图像数据解析显示在视频显示区域。

菜单区域中包括监视和保存状态设置,用于在软件实时运行的过程中,不中断软件操作的情况下,实时切换监视和监视并保存状态。格式转换功能,用于进行数据格式转换操作,将实时保存的.dat文件分解为图片文件进行事后处理。

状态栏显示区域,用于显示系统在运行时的各项参数,例如图片参数属性、工作模式、网络帧速率、网络流量、监视与保存状态、截图路径等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1