基于FPGA的目标尺寸检测系统及方法与流程

文档序号:21369378发布日期:2020-07-04 04:45阅读:565来源:国知局
基于FPGA的目标尺寸检测系统及方法与流程

本发明属于数字图像处理领域,具体涉及目标尺寸检测领域,特别涉及一种基于fpga的目标尺寸检测系统及方法。



背景技术:

在基于fpga的目标尺寸在线测量领域中,获得质量好,噪声小的图像是核心,这就对采集图像的图像传感器有较高的要求。国内外多数采用ccd摄像头作为图像传感器,主要是因为其能获得比较高的精度,但其成本较高,一般价格为同精度cmos传感器的4倍~5倍,ccd高昂的价格也促进了利用cmos图像传感器实现尺寸测量的发展。1967年,cmos图像传感器的无源像素结构由美国的fairchild公司的weckler首次提出,之后才开始了cmos传感器的研究之路。近年来,cmos芯片技术已取得巨大进步,在多方面已超越ccd。cmos传感器的高速度(帧速率)、高分辨率(像素数)、低功耗以及最新改良的噪声指数、量子效率及色彩观念等各方面优势,决定cmos在目标尺寸的在线检测领域里占据了一席之地。

在目标尺寸测量算法中,一般是先利用物面到镜头的距离来求取放大倍数,再计算目标物体实际测量尺寸,该方法计算参数多且参数值也存在误差,导致实际测量结果精度不高,且无法实现实时测量,在实际工程中应用不多。

在图像数字信号处理中,有dsp和fpga两种处理方法。dsp主要是算法处理,内部资源基本都是现成的,故硬件设计一但确定,不易于修改。fpga内有大量的逻辑门和触发器,多为查找表结构,可以通过硬件描述语言进行快速设计和改进,能够重复编程,使用fpga来处理图像数据,功能更强大,实现更灵活,数据传输速度高。将fpga和cmos图像传感器两者结合进行目标尺寸检测,具有重要的研究意义。



技术实现要素:

本发明的目的在于提供一种能实现实时、高精度、非接触在线测量目标尺寸的系统及方法。

实现本发明目的的技术解决方案为:一种基于fpga的目标尺寸检测系统,所述系统包括:光学成像模块、图像采集模块、图像预处理模块、图像存储与显示模块、目标尺寸测量模块、时钟分频模块以及寄存器配置模块;所述时钟分频模块、寄存器配置模块、图像采集模块、图像预处理模块、图像存储与显示模块均由fpga实现;

所述光学成像模块,包括光学成像镜头、图像传感器,用于将待测目标通过光学成像镜头成像在图像传感器上;

所述图像采集与转换模块,用于采集所述图像传感器输出的bayer图像数据,并将bayer图像数据转换为rgb图像;

所述图像预处理模块,用于对所述rgb图像进行滤波去噪、二值化预处理;

所述图像存储与显示模块,用于存储并显示所述图像预处理模块处理后的图像;

所述目标尺寸测量模快,用于根据所述图像预处理模块处理后的图像求取待测目标的实际尺寸;

所述时钟分频模块,用于为其他模块提供所需工作时钟;

所述寄存器配置模块,用于配置所述图像传感器的地址以及图像传感器中的寄存器地址和数据。

一种基于fpga的目标尺寸检测方法,所述方法包括以下步骤:

步骤1,利用fpga的ip核生成锁相环pll,产生时钟,之后对产生的时钟进行分频处理,获得所需工作时钟;

步骤2,通过iic总线对图像传感器的地址以及图像传感器中的寄存器地址和数据进行配置;

步骤3,待测目标通过光学成像镜头成像在图像传感器上,采集待测目标的bayer图像数据,并将bayer图像数据转换为rgb图像;

步骤4,对所述rgb图像进行滤波去噪、二值化预处理;

步骤5,存储且显示预处理后的图像,并根据该图像求取待测目标的实际尺寸。

本发明与现有技术相比,其显著优点为:1)实现了图像传感器测量尺寸时非接触和实时测量的统一,能够实现有效、实时、高精度测量;2)提出了以像元数目标定法为基础的测量方法,实现了对系统参数的精确标定;3)突破了以往只能测量小物体尺寸的局限,可以实现对各种尺寸物体的实时测量,适用范围广;4)可以用于工业测量高温物体时远距离、高精确度在线尺寸测量;5)整体结构简单,易于实现,且成本低,易于推广使用。

下面结合附图对本发明作进一步详细描述。

附图说明

图1为一个实施例中基于fpga的目标尺寸检测系统结构示意图。

图2为一个实施例中基于fpga的目标尺寸检测方法流程图。

图3为一个实施例中采集到的bayer格式像素阵列示意图。

图4为一个实施例中2*2扫描窗口示意图,其中图(a)为{行偶,列偶}类型的窗口,图(b)为{行偶,列奇}类型的窗口,图(c)为{行奇,列偶}类型的窗口,图(d)为{行奇,列奇}类型的窗口。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,结合图1,提供了一种基于fpga的目标尺寸检测系统,该系统包括:光学成像模块、图像采集模块、图像预处理模块、图像存储与显示模块、目标尺寸测量模块、时钟分频模块以及寄存器配置模块;其中时钟分频模块、寄存器配置模块、图像采集模块、图像预处理模块、图像存储与显示模块均由fpga实现;

光学成像模块,包括光学成像镜头、图像传感器,用于将待测目标通过光学成像镜头成像在图像传感器上;

这里,通过zemax光学软件对光学成像模块进行仿真,确定图像合适的的场曲和视场,保证图像的较高的成像质量和较小的畸变,由此获得实际图像传感器与待测目标之间的最优距离。

图像采集与转换模块,用于采集图像传感器输出的bayer图像数据,并将bayer图像数据转换为rgb图像;

图像预处理模块,用于对rgb图像进行滤波去噪、二值化预处理;

图像存储与显示模块,用于存储并显示图像预处理模块处理后的图像;

目标尺寸测量模快,用于根据图像预处理模块处理后的图像求取待测目标的实际尺寸;

时钟分频模块,用于为其他模块提供所需工作时钟;

寄存器配置模块,用于配置图像传感器的地址以及图像传感器中的寄存器地址和数据。

进一步地,在其中一个实施例中,上述图像传感器具体采用cmos图像传感器。

进一步地,在其中一个实施例中,上述寄存器配置模块通过iic总线配置图像传感器的地址以及图像传感器中的寄存器地址和数据。

进一步地,在其中一个实施例中,上述图像存储与显示模块包括sdram存储器和vga显示屏。

示例性地,在其中一个实施例中,上述cmos图像传感器采用工业图像传感器mt9t001,寄存器配置模块、图像采集模块、图像预处理模块、图像存储与显示模块具体采用ax309电路板实现。

在一个实施例中,结合图2,一种基于fpga的目标尺寸检测方法,该方法包括以下步骤:

步骤1,利用fpga的ip核生成锁相环pll,产生时钟,之后对产生的时钟进行分频处理,获得所需工作时钟;

步骤2,通过iic总线对图像传感器的地址以及图像传感器中的寄存器地址和数据进行配置;

步骤3,待测目标通过光学成像镜头成像在图像传感器上,采集待测目标的bayer图像数据(阵列局部如图3所示),并将bayer图像数据转换为rgb图像;

步骤4,对rgb图像进行滤波去噪、二值化预处理;

步骤5,存储且显示预处理后的图像,并根据该图像求取待测目标的实际尺寸。

进一步地,在其中一个实施例中,上述步骤3将bayer图像数据转换为rgb图像,具体包括:

利用一个2*2扫描窗口对bayer图像数据进行扫描,对r,g,b三种像素进行插值处理获得rgb图像;结合图4,2*2扫描窗口按行列奇偶数不同分为4种类型:(a){行偶,列偶},(b){行偶,列奇},(c){行奇,列偶},(d){行奇,列奇};假设line1_1、line1_2、line2_1、line2_2分别为沿逆时针方向2*2扫描窗口四个像素点的数据;

针对窗口类型(a),插值公式为:

r=line1_1+8'd5;

g=line2_1+line1_2+8'd10;

b=line2_2+8'd5

针对窗口类型(b),插值公式为:

r=line1_2+8'd5;

g=line1_1+line2_2+8'd10;

b=line2_1+8'd5

针对窗口类型(c),插值公式为:

r=line2_1+8'd5;

g=line1_1+line2_2+8'd10;

b=line1_2+8'd5

针对窗口类型(d),插值公式为:

r=line2_2+8'd5;

g=line2_1+line1_2+8'd10;

b=line1_1+8'd5。

进一步地,在其中一个实施例中,上述步骤5根据该图像求取待测目标的实际尺寸,具体过程包括:

针对矩形待测目标:

步骤5-1,获取图像中待测目标的四个顶点坐标,沿逆时针方向分别记为(xt,yt)、(xb,yb)、(xl,yl)、(xr,yr);

步骤5-2,根据四个顶点坐标,求取待测目标分别在长、宽方向上的像素元数目:

其中,nl,nw分别为待测目标在长宽方向上的像素元数目;

步骤5-3,依据步骤3至步骤4的过程,对矩形标准网格进行成像,并根据步骤5-2的过程求取矩形标准网格分别在长、宽方向上的像素元数目ml、mw;其中矩形标准网格的实际长、宽分别为l0、w0;

步骤5-4,根据ml、mw、l0、w0、nl、nw,求取待测目标的实际长宽分别为:

针对不规则待测目标:

先获取不规则待测目标的最小外接矩形,之后依据上述步骤5-1至步骤5-4的过程求取最小外接矩形的尺寸,作为待测目标的实际尺寸。

作为一种具体示例,对本发明方法进行验证,实验测量对象为钢板,采用工业图像传感器mt9t001。

1、利用fpga的ip核生成锁相环pll,产生50mhz时钟,之后对产生的时钟进行分频处理,获得65mhz、两个100mhz、40mhz的时钟,其中65mhz是供给vga显示的工作时钟,两个100mhz分别是供给sdram的工作时钟和enable时钟,40mhz是供给mt9t001的工作时钟。

2、通过iic总线完成对mt9t001的地址以及mt9t001中reg0x01-reg0x07七个寄存器的地址和数据配置:

配置mt9t001的物理地址,iic总线设备的8位地址由7位地址位和1位方向位组成。地址的最低位为“0”表示写模式,为“1”表示读模式;

配置寄存器地址,本发明只使用了写地址操作,fpga向mt9t001发送8位寄存器地址,mt9t001发送一个应答位表示寄存器地址已经收到;

配置寄存器数据,fpga发送8位数据,mt9t001发送一个应答位表示接收到8位数据。由于mt9t001内部寄存器使用16位数据,故写一个寄存器需要两次8位数据的传输。数据传输完成后,寄存器地址自动加一,依次完成7个寄存器的配置。

3、待测钢板通过光学成像镜头成像在图像传感器mt9t001上,采集待测钢板的bayer图像数据,输出方向从左到右,从上到下,每个像素10bit。

之后将bayer图像数据转换为rgb图像,具体过程为:

利用一个2*2扫描窗口对bayer图像数据进行扫描,对r,g,b三种像素进行插值处理获得rgb图像;2*2扫描窗口按行列奇偶数不同分为4种类型:(a){行偶,列偶},(b){行偶,列奇},(c){行奇,列偶},(d){行奇,列奇};假设line1_1、line1_2、line2_1、line2_2分别为沿逆时针方向2*2扫描窗口四个像素点的数据;

其中2*2扫描窗口的移动过程为:取每个像素数据的高8bit,调用两个移位寄存器ip,将bayer图像数据bayer_data由移位寄存器shift_ram_1的d端输入,q端输出得到数据line_1,再由移位寄存器shift_ram_2的d端输入q端输出得到数据line_2。在每个时钟上升沿时将line_1赋值给line1_1,line1_1赋值给line1_2,将line_2赋值给line2_1,将line2_1赋值给line2_2;

针对窗口类型(a),插值公式为:

r=line1_1+8'd5;

g=line2_1+line1_2+8'd10;

b=line2_2+8'd5

针对窗口类型(b),插值公式为:

r=line1_2+8'd5;

g=line1_1+line2_2+8'd10;

b=line2_1+8'd5

针对窗口类型(c),插值公式为:

r=line2_1+8'd5;

g=line1_1+line2_2+8'd10;

b=line1_2+8'd5

针对窗口类型(d),插值公式为:

r=line2_2+8'd5;

g=line2_1+line1_2+8'd10;

b=line1_1+8'd5。

4、对rgb图像进行滤波去噪、二值化预处理。

5、存储且显示预处理后的图像,并根据该图像求取待测钢板的实际尺寸:

5-1、获取图像中待测钢板的四个顶点坐标,沿逆时针方向分别记为(xt,yt)、(xb,yb)、(xl,yl)、(xr,yr);

5-2、根据四个顶点坐标,求取待测钢板分别在长、宽方向上的像素元数目:

其中,nl,nw分别为待测目标在长宽方向上的像素元数目;

5-3、依据上述3至4的过程,对矩形标准网格(每格为1cm)进行成像,并根据5-2的过程求取矩形标准网格分别在长、宽方向上的像素元数目ml、mw;其中矩形标准网格的实际长、宽分别为l0、w0;

5-4,根据上述ml、mw、l0、w0、nl、nw,求取待测钢板的实际长宽分别为:

本示例中对不同尺寸的钢板进行测量,测量结果如表1所示:

表1测量结果数据

由测量结果可知,本发明的测量结果与物体实际尺寸误差在0.3%以下,测量精度高。

综上,本发明实现了图像传感器测量尺寸时非接触和实时测量的统一,能够实现有效、实时、高精度测量。本发明突破了以往只能测量小物体尺寸的局限,可以实现对各种尺寸物体的实时测量,适用范围广,还可以用于工业测量高温物体时远距离、高精确度在线尺寸测量。整体结构简单,易于实现,且成本低,易于推广使用。

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