线阵相机是否匀速采图的判断方法及系统
技术领域
本申请涉及线阵相机技术领域,尤其涉及一种线阵相机是否匀速采图的判断方法及系统。
背景技术
线阵相机是采用线阵传感器的相机,其每次采集一行图像,拍摄的图像呈“线”状,具有几k的长度,要将若干行拼接成一幅图像,必须要求被摄物体(或线阵相机)沿图像高度方向运动,具有很高的分辨率,常用于被测视野细长、需要极大视野或极高精度的检测领域。
线阵相机由于其特性,要想连续拍摄图像就必须要求线阵相机和物体之间有相对运动,通常是线阵相机固定,物体运动。线阵相机使用时需要编码器给相机发送脉冲触发信号,从而控制相机开始采图,而编码器能否匀速发送触发信号则会影响线阵相机是否能够匀速采图。
但是,在实际使用中,并未对线阵相机是否匀速采图做量化判断,除非出现较大的速度差异,否则人眼也难以给出准确结论。
发明内容
本申请提供了一种线阵相机是否匀速采图的判断方法及系统,以对线阵相机是否匀速采图进行量化判断。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种线阵相机是否匀速采图的判断方法,所述方法包括:
将棋盘格靶标图摆正固定于被测物体上,设置线阵相机的行频与物体的运动速度;
采集所述线阵相机拍摄的棋盘格图像;
对所述棋盘格图像进行倾斜校正;
检测校正后棋盘格图像的竖边长度;
计算所述棋盘格竖边长度的波动程度;
根据所述波动程度判断所述线阵相机是否匀速采图。
可选的,采集所述线阵相机拍摄的棋盘格图像,包括采集一幅棋盘格在线阵相机视场中央的图像,或者采集一幅棋盘格充满线阵相机视场的图像。
可选的,对所述棋盘格图像进行倾斜校正,包括:
检测获得所述棋盘格图像的倾斜角度θ;
获取所述棋盘格图像中目标点的坐标(x0,y0),x0和y0分别表示所述目标点在所述棋盘格图像中的行索引和列索引;
根据公式(1)计算得到校正后的目标点坐标(x,y);
其中,x和y分别表示倾斜校正后目标点的行索引和列索引。
可选的,检测校正后棋盘格图像的竖边长度,包括:
检测获得所述棋盘格图像中的灰度跳变区;
记录所述灰度跳变区所在列的标志位;
根据所述标志位记录所有灰度跳变的索引值;
根据所述索引值计算得到所述棋盘格的竖边长度。
可选的,检测获得所述棋盘格图像中的灰度跳变区,包括
获取目标列当前位置像素点的灰度值;
计算所述目标列当前位置像素点的灰度值与相邻位置像素点的灰度值的差的绝对值;
判断所述绝对值是否大于设定的阈值;
若所述绝对值大于设定的阈值,则认为当前位置为灰度跳变区。
可选的,记录所述灰度跳变区所在列的标志位,包括:
判断目标列当前位置像素点的灰度值是否大于相邻位置像素点的灰度值;
若所述目标列当前位置像素点的灰度值大于相邻位置像素点的灰度值,则将所述目标列的标志位记录为第一标志位;
若所述目标列当前位置像素点的灰度值小于相邻位置像素点的灰度值,则将所述目标列的标志位记录为第二标志位。
可选的,根据所述标志位记录所有灰度跳变的索引值,包括:
判断目标列的标志位与前一列的标志位是否一致;
若所述目标列的标志位与前一列的标志位一致,则直接跳到下一列继续进行判断;
若所述目标列的标志位与前一列的标志位不一致,则记录所述目标列跳变处的列索引,并将所述列索引存储于列索引矩阵的对应列。
可选的,根据所述索引值计算得到所述棋盘格的竖边长度,包括:
遍历所述棋盘格图像的所有列数据,得到完整的列索引矩阵;
对所述列索引矩阵中的数据逐列计算相邻数据的差,得到所述棋盘格的竖边长度矩阵。
可选的,计算所述棋盘格竖边长度的波动程度,包括:
根据所述竖边长度矩阵中的数据计算得到每一行棋盘格的竖边长度的均值,得到M个平均竖边长度的数组length;
按照公式(2)计算M个数组length的方差:
其中,μ表示均值,σ2表示方差;
根据所述方差σ2表明所述竖边长度的波动程度。
第二方面,本申请实施例还提供了一种线阵相机是否匀速采图的判断系统,包括:
设置模块,用于将棋盘格靶标图摆正固定于被测物体上,设置线阵相机的行频与物体的运动速度;
采集模块,用于采集所述线阵相机拍摄的棋盘格图像;
校正模块,用于对所述棋盘格图像进行倾斜校正;
检测模块,用于检测校正后棋盘格图像的竖边长度;
计算模块,用于计算所述棋盘格竖边长度的波动程度;
判断模块,用于根据所述波动程度判断所述线阵相机是否匀速采图。
与现有技术相比,本申请的有益效果为:
本申请实施例提供的线阵相机是否匀速采图的判断方法包括:将棋盘格靶标图摆正固定于被测物体上,设置线阵相机的行频与物体的运动速度,采集线阵相机拍摄的棋盘格图像,对棋盘格图像进行倾斜校正,检测校正后棋盘格图像的竖边长度,计算棋盘格竖边长度的波动程度,根据波动程度判断线阵相机是否匀速采图。本发明采用拍摄棋盘格靶标图并对采集图像进行分析的方法来定量的描述线阵相机是否匀速采图,因为棋盘格是正方形的,便于判断在物体运动方向上(即图像的高度方向)棋盘格的边长是否发生变化,另外,棋盘格只有黑白两色,图像反差很大,便于定位棋盘格的分界线,通过采集棋盘格图像,分别检测所有棋盘格的竖边长度,通过分析所有棋盘格的竖边长度的波动情况来量化线阵相机采图的匀速程度,这样既操作简单,又能得到客观准确的判断。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种线阵相机是否匀速采图的判断方法的流程图;
图2中示例性示出了棋盘格靶标图的示意图;
图3本申请实施例提供的线阵相机是否匀速采图的判断方法中S400的详细流程图;
图4中示例性示出了棋盘格竖边的示意图;
图5为本申请实施例提供的一种线阵相机是否匀速采图的判断系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1,为本申请实施例提供的一种线阵相机是否匀速采图的判断方法的流程图。
如图1所示,本申请实施例提供的线阵相机是否匀速采图的判断方法包括:
S100:将棋盘格靶标图摆正固定于被测物体上,设置线阵相机的行频与物体的运动速度。
靶标采用棋盘格图,棋盘格如图2所示,因为棋盘格是正方形的,便于判断在物体运动方向(即图像的高度方向)上棋盘格的边长是否发生变化,另外,棋盘格只有黑白两色,图像反差很大,便于定位棋盘格的分界线。首先将线阵相机的行频和物体的运动速度设置好,然后将棋盘格靶标图摆正固定在传送带上或者被测物体上,使得线阵相机能够拍摄到随被测物体运动的棋盘格图像。
S200:采集线阵相机拍摄的棋盘格图像。
线阵相机拍摄到棋盘格图像后,采集一幅棋盘格在线阵相机视场中央的图像,或者棋盘格充满线阵相机视场的图像。
S300:对棋盘格图像进行倾斜校正。
若拍摄的棋盘格图像是倾斜的,为了便于后续分析,需要对其进行倾斜校正。倾斜校正的方法很多,此处不做限制,本示例以Hough变换+投影校正的方法为例进行说明。Hough变换可以检测出图像中直线的倾斜角度,即可得到棋盘格图像的倾斜角度。假设棋盘格图像的倾斜角度为θ,原图像中目标点的坐标为(x0,y0),x0和y0分别表示所述目标点在所述棋盘格图像中的行索引和列索引,根据投影校正法可以通过公式(1)计算得到校正后的目标点坐标(x,y),x和y分别表示倾斜校正后目标点的行索引和列索引。
S400:检测校正后棋盘格图像的竖边长度。
对棋盘格图像的全图进行检测,可以得到每个棋盘格的竖边长度。如图3所示,检测棋盘格图像的竖边长度的具体方法为:
S401:检测获得棋盘格图像中的灰度跳变区。
棋盘格的竖边如图4所示,检测棋盘格竖边长度时,需要获取目标列当前位置像素点的灰度值,计算目标列当前位置像素点的灰度值与相邻位置像素点的灰度值的差的绝对值,判断绝对值是否大于设定的阈值,若差值的绝对值大于设定的阈值,则认为当前位置是灰度跳变的位置,即为棋盘格的边界位置。本示例中,设定的阈值的建议值为50。
S402:记录灰度跳变区所在列的标志位。
对于第一个满足条件的位置,还需判断当前位置像素点的灰度值与相邻相位像素点的灰度值的大小,若当前位置像素点的灰度值大于相邻像素点的灰度值,则该处为白色到黑色的边界,将该列的标志位记录为第一标志位(优选第一标志位为1);若当前位置像素点的灰度值小于相邻像素点的灰度值,则该处为黑色到白色的边界,将该列的标志位记录为第二标志位(优选第二标志位为0)。
S403:根据标志位记录所有灰度跳变的索引值。
依次逐列进行上述处理,判断目标列的标志位与前一列的标志位是否一致,若目标列的标志位与前一列的标志位一致,则直接跳到下一列继续进行判断;若目标列的标志位与前一列的标志位不一致,则记录该列跳变处的列索引,依次存储于列索引矩阵的对应列。遍历完所有的列数据后,得到完整的列索引矩阵。
S404:根据索引值计算得到棋盘格的竖边长度。
列索引矩阵记录了所有灰度跳变的索引值,要得到竖边的长度,还需要逐列计算相邻数据的差,即用当前列索引减去同一列的前一个列索引,最终得到一个比列索引矩阵少一行的全部完整棋盘格的竖边长度矩阵。假设图中完整的棋盘格有M行N列个,则竖边长度矩阵的大小为M×N。
S500:计算棋盘格竖边长度的波动程度。
考虑到线阵相机是一行一行采图的,即同一行的采集速度是相同的,因此同一行的棋盘格的竖边长度可以看做是一样的,故先计算每一行棋盘格的竖边长度的均值,得到M个平均竖边长度的数组,表示为length,然后按照公式(2)计算这M个数组的方差:
其中,μ表示均值,σ2表示方差。通过方差表示棋盘格竖边长度的波动程度,方差越小,表明棋盘格竖边长度的波动程度越小。
S600:根据波动程度判断线阵相机是否匀速采图。
当棋盘格竖边长度的波动程度越小,表明在物体运动方向(即图像的高度方向)上棋盘格的边长发生的变化越小,也表明了线阵相机采图越匀速。
本申请实施例提供的线阵相机是否匀速采图的判断方法采用拍摄靶标图并对采集图像进行分析的方法来定量的描述线阵相机是否匀速采图,靶标采用棋盘格图,通过采集棋盘格图像,分别检测所有棋盘格的竖边的长度,通过计算分析拍摄图像中从顶部到底部的所有棋盘格的竖边边长是否变化来判断线阵相机是否匀速采图,这样既操作简单,又能得到客观准确的判断。
基于上述实施例所述的线阵相机是否匀速采图的判断方法,本申请实施例还提供了一种线阵相机是否匀速采图的判断系统,如图5所示,本申请实施例提供的线阵相机是否匀速采图的判断系统包括:
设置模块100,用于将棋盘格靶标图摆正固定于被测物体上,设置线阵相机的行频与物体的运动速度。
采集模块200,用于采集所述线阵相机拍摄的棋盘格图像。采集一幅棋盘格在相机视场中央的图像,或者棋盘格充满相机视场的图像。
校正模块300,用于对所述棋盘格图像进行倾斜校正。若拍摄的棋盘格图像是倾斜的,为了便于后续分析,需要对其进行倾斜校正,本申请以Hough变换+投影校正的方法对棋盘格图像进行倾斜校正。
检测模块400,用于检测校正后棋盘格图像的竖边长度。
计算模块500,用于计算所述棋盘格竖边长度的波动程度。
判断模块600,用于根据所述波动程度判断所述线阵相机是否匀速采图,波动程度越小,线阵相机采图越匀速。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。