首页 / 基于线扫相机的扫描方法、装置、电子设备以及存储介质

基于线扫相机的扫描方法、装置、电子设备以及存储介质有效专利 发明

技术领域

[0001] 本发明涉及图像扫描技术领域,具体涉及一种基于线扫相机的扫描方法、装置、电子设备以及存储介质。

相关背景技术

[0002] 当前线扫相机扫描图像时,扫描完一行后,需要从此行的末尾移动到下一行的开头扫描下一行,但是线扫相机从一行末尾移动到下一行的开头需要较长的时间,特别当工件较大时,线扫相机的扫描时间长,扫描效率低。

具体实施方式

[0021] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0023] 请参阅图1,图1是本申请提供的应用场景示意图。如图1所示,该应用场景1包括:线扫相机10、工件放置区域20、以及线扫相机10在工件放置区域20中对应的扫描范围30。
[0024] 其中,线扫相机10通过不断移动,在工件放置区域20中扫描工件,得到包括完整扫描工件的图像。
[0025] 进一步地,因为线扫相机10的取像范围有限,所以需要拍摄多次,得到多张图像,扫描后还需要将线扫相机10扫描得到的多张图像进行拼接才能得到完整图像。
[0026] 请参阅图2,图2是本申请实施例提供的一种基于线扫相机的扫描方法的流程示意图。如图2所示,基于线扫相机的扫描方法100包括:步骤110至步骤140。
[0027] 步骤110:获取待扫描区域的区域信息。
[0028] 在一些实施方式中,所述待扫描区域的区域信息包括待扫描区域的四个顶点的坐标,步骤110包括下述步骤。
[0029] 步骤111:获取待扫描工件所在区域的四个顶点的坐标。
[0030] 步骤112:根据所述待扫描工件所在区域的四个顶点的坐标确定囊括所述待扫描工件所在区域且其中一边与所述第一方向平行的待扫描区域的四个顶点的坐标。
[0031] 在一些实施方式中,待扫描工件所在区域可以为囊括待扫描工件的最小方形区域,从而初步对待扫描工件进行定位。
[0032] 在一些实施方式中,待扫描工件所在区域可以为待扫描工件的实际占用区域。
[0033] 在一些实施方式中,为了保证线扫相机的走位精度,需要确定囊括待扫描工件所在区域且其中一边与第一方向平行的待扫描区域,从而保证奇数扫描单元在待扫描区域中的与第一方向垂直的第二方向上的扫描起点相同,偶数扫描单元在待扫描区域中的与第一方向垂直的第二方向上的扫描起点相同,减少线扫相机的走位误差,防止拼接得到的图像发生错位。
[0034] 在一些实施方式中,为了提高扫描效率,步骤112包括下述步骤。
[0035] 根据所述待扫描工件所在区域的四个顶点的坐标确定囊括所述待扫描工件所在区域且其中一边与所述第一方向平行的面积最小的待扫描区域的四个顶点的坐标。
[0036] 请参阅图3,图3是本申请实施例提供的待扫描区域的示意图。如图3所示,工件放置区域20中包括待扫描工件所在区域21,以及囊括待扫描工件所在区域21且其中一边与所述第一方向平行的待扫描区域22。
[0037] 其中,图3还示意了X轴和Y轴的方向,本申请实施例中的待扫描工件所在区域的坐标和待扫描区域的坐标都为相同坐标系中的坐标,定义为机械坐标系。
[0038] 其中,待扫描区域22包括第一顶点A、第二顶点B、第三顶点C以及第四顶点D;确定第一顶点A、第二顶点B、第三顶点C以及第四顶点D中的X轴最大值、X轴最小值、Y轴最小值、Y轴最大值,面积最小的待扫描区域的四个顶点的坐标分别为(X轴最大值,Y轴最小值)、(X轴最大值,Y轴最大值)、(X轴最小值,Y轴最小值)、(X轴最小值,Y轴最大值)。
[0039] 在一些实施方式中,本申请实施例提供的基于线扫相机的扫描方法100还包括下述步骤。
[0040] (1)根据所述待扫描区域的四个顶点的坐标确定待扫描区域的长度和宽度。
[0041] (2)获取线扫相机的扫描参数。
[0042] (3)根据所述待扫描区域的长度、宽度和所述扫描参数处理所述待扫描区域,以使所述待扫描区域囊括所述待扫描工件且长度和宽度为所述扫描参数的整数倍。
[0043] 在一些实施方式中,线扫相机的扫描参数包括线扫相机对应的扫描区域的长度和宽度。
[0044] 示例性地,待扫描区域的长度为105且宽度为50,扫描长度为10且扫描宽度为1,则需要将待扫描区域的长度增大至110,以适应线扫相机的扫描参数。
[0045] 在一些实施方式中,可以将距工件放置区域的边界最远的顶点指定为移动顶点,通过移动该移动顶点来扩大待扫描区域;从而尽可能防止扩大区域时超出工件放置区域的边界。
[0046] 步骤120:根据所述区域信息将待扫描区域划分为多个扫描单元。
[0047] 请参阅图4,图4是本申请实施例提供的待扫描区域的划分示意图。如图4所示,待扫描单元为扫描行,分为第一行、第二行、。。。、第N个,其中,N为正整数。
[0048] 可以理解的是,在其他实施方式中待扫描单元还可以为扫描列。
[0049] 在一些实施方式中,步骤120包括步骤:获取扫描参数,根据第一方向、扫描参数、所述区域信息将待扫描区域划分为多个扫描单元。
[0050] 例如将待扫描区域划分为10行或者10列。
[0051] 步骤130:在所述扫描模式为预设扫描模式时,根据奇数扫描单元在第一方向上的第一个坐标确定所述奇数扫描单元的扫描起点,根据偶数扫描单元在第一方向上的最后一个坐标确定所述偶数扫描单元的扫描起点;其中,所述线扫相机沿所述第一方向扫描第一个所述扫描单元。
[0052] 请再参阅图4,其中,图4中第二行包括第一扫描起点和第二扫描起点,在相关技术中,线扫相机从第一行的扫描起点扫描到第一行的扫描终点时,线扫相机回到第二行的第一扫描起点来扫描第二行,将这种扫描方式定义为Z型扫描,但因为第一行的扫描终点距离第一扫描起点的较远,因此Z型扫描耗时较长,扫描效率较低。
[0053] 而步骤130中线扫相机从第一行的扫描起点扫描到第一行的扫描终点时,线扫相机移动到第二行的第二扫描起点来扫描第二行,将这种扫描方式定义为弓型扫描,弓型扫描减少了换行扫描时线扫相机的移动时间,提高了扫描效率。
[0054] 在一些实施方式中,步骤根据奇数扫描单元在第一方向上的第一个坐标确定所述奇数扫描单元的扫描起点,包括:将奇数扫描单元在第一方向上的第一个坐标确定为奇数扫描单元的扫描起点。
[0055] 进一步地,通过长期实践发现,在传统的Z型扫描中,线扫相机可以从扫描终点准确的回到第一扫描起点,但是弓形扫描中,当控制线扫相机从扫描终点移动到第二扫描起点时,线扫相机就会出现走位误差,这也是目前线扫相机大多采用Z型扫描的原因,即弓形扫描中,从奇数扫描单元的扫描终点移动到偶数扫描单元的扫描起点存在走位误差,但偶数扫描单元的扫描终点移动到奇数扫描单元的扫描起点就不存在走位误差。
[0056] 基于此,在一些实施方式中,步骤根据偶数扫描单元在第一方向上的最后一个坐标确定所述偶数扫描单元的扫描起点,包括下述步骤。
[0057] (1)获取偏差参数;所述偏差参数用于反映所述线扫相机由奇数扫描单元的扫描终点移动至相邻的偶数扫描单元的扫描起点时的走位误差。
[0058] (2)根据每个所述偶数扫描单元在第一方向上的最后一个坐标和所述偏差参数计算每个所述偶数扫描单元的扫描起点。
[0059] 在一些实施方式中,若待扫描区域为其中一边与所述第一方向平行的方形区域,则每个奇数扫描单元的扫描终点移动到偶数扫描单元的扫描起点的走位误差相同,即每个偶数扫描单元对应的偏差参数相同。
[0060] 在一些实施方式中,若待扫描区域为其中一边与所述第一方向平行的非方形区域,则每个奇数扫描单元的扫描终点移动到偶数扫描单元的扫描起点的走位误差不一定相同,需要分别获取每个偶数扫描单元对应的偏差参数。
[0061] 在一些实施方式中,每个所述偶数扫描单元的扫描起点等于第一方向上的最后一个坐标加上偏差参数或者第一方向上的最后一个坐标减去偏差参数。
[0062] 在一些实施方式中,偏差参数也为坐标形式,偏差参数可称为偏差坐标。
[0063] 在一些实施方式中,通过实践发现,线扫相机移动时只在第一方向上存在走位误差,定义线扫相机沿第一坐标轴的正方向进行扫描,则偏差坐标中第二坐标轴对应的偏差值为0。
[0064] 在一些实施方式中,通过长期实践发现,走位误差的影响因素包括设备走位精度、当前温度、振动幅度等。
[0065] 可选地,步骤获取偏差参数包括下述步骤:获取设备走位精度、当前温度、振动幅度中的至少一个;根据设备走位精度、当前温度、振动幅度中的至少一个计算偏差参数。
[0066] 示例性,偏差参数为K*(设备走位精度‑标准走位精度);其中K为系数。
[0067] 在一些实施方式中,也可以控制线扫相机多次按弓形扫描方式扫描工件,从而统计每次从奇数扫描单元的扫描终点移动到偶数扫描单元的扫描起点的走位误差,最后根据得到的多个走位误差标定设备的偏差参数。
[0068] 步骤140:控制所述线扫相机根据每个所述扫描单元的扫描起点从第一个扫描单元开始进行逐个扫描,以扫描整个所述待扫描区域。
[0069] 在一些实施方式中,还需要确定扫描终点从而控制线扫相机,此时本申请实施例提供的基于线扫相机的扫描方法100还包括下述步骤。
[0070] (1)根据所述奇数扫描单元在第一方向上的最后一个坐标确定所述奇数扫描单元的扫描终点。
[0071] (2)根据所述偶数扫描单元在第一方向上的第一个坐标和所述偏差参数确定所述偶数扫描单元的扫描终点。
[0072] 此时步骤140包括下述步骤。
[0073] (3)控制所述线扫相机根据每个所述扫描单元的扫描起点和扫描终点从第一个扫描单元开始进行逐个扫描。
[0074] 通过上述方式,可以更好地控制线扫相机的移动过程。
[0075] 在一些实施方式中,步骤控制所述线扫相机根据每个所述扫描单元的扫描起点和扫描终点从第一个扫描单元开始进行逐个扫描,包括下述步骤。
[0076] (1)获取线扫相机的扫描区域的扫描参数;(2)控制所述线扫相机根据每个所述扫描单元的扫描起点、扫描终点以及线扫相机的扫描参数从第一个扫描单元开始,以扫描子单元为单位对扫描单元进行逐个扫描;其中,每个扫描单元包括至少一个扫描子单元。
[0077] 在一些实施方式中,例如线扫相机沿第一坐标轴正方向对扫描单元逐个扫描,则每个扫描子单元的起点坐标为(扫描单元的第一坐标轴正方向上的第一个坐标*Q,扫描单元的第一坐标轴坐标),其中,Q为正整数,Qmax等于扫描单元的第一坐标轴长度/扫描区域的第一坐标轴长度。
[0078] 在一些实施方式中,因为线扫相机扫描得到的图像范围有限,因此扫描完成后还需要将图像拼接成完整图像,但是采用弓形扫描时,不能采用Z型扫描时的图像拼接方法,因此需要设计一种新的图像拼接算法,此时本申请实施例提供的基于线扫相机的扫描方案还包括下述步骤。
[0079] (1)获取第N个所述扫描单元扫描得到的至少一张子图像;其中,N的初始状态为1。
[0080] (2)判断N为奇数还是偶数。
[0081] (3)若N为奇数,按照所述至少一张子图像的获取顺序将所述子图像沿预设方向依次拼接得到子扫描图像。
[0082] (4)若N为偶数,将每张所述子图像沿其竖直方向的中心线进行镜像翻转,得到至少一张翻转子图像;按照与所述至少一张子图像的相反获取顺序将所述翻转子图像沿预设方向依次拼接得到子扫描图像。
[0083] (5)将所述子扫描图像拼接至扫描图像中。
[0084] (6)判断N是否等于Nmax。
[0085] (7)若N等于Nmax,则输出所述扫描图像。
[0086] (8)若N不等于Nmax,则使N=N+1并返回执行步骤获取第N个所述扫描单元扫描得到的至少一张子图像;其中,N的初始状态为1。
[0087] 请再参阅图5,图5是本申请实施例提供的镜像翻转的示意图。如图5所示,子图像40沿竖直方向的中心线50进行镜像翻转,得到翻转后的子图像60。
[0088] 在一些实施方式中,奇数扫描单元和偶数扫描单元的扫描方向相反,因此需要用相反的拼接顺序拼接子图像。
[0089] 在一些实施方式中,子图像的数量等于扫描单元的长度/线扫相机的取像长度。
[0090] 在一些实施方式中,每个扫描单元的单元参数包括第一长度参数和第一宽度参数,线扫相机的取像区域的取像参数包括第二长度参数和第二宽度参数,第一长度参数和第二长度参数相同和/或第一宽度参数和第二宽度参数相同。
[0091] 在一些实施方式中,步骤140包括下述步骤。
[0092] (1)根据扫描单元的单元参数和线扫相机的取像区域的取像参数确定线扫相机的每个移动点;移动点包括每个扫描单元中的扫描起点、扫描终点以及位于扫描起点和扫描终点之间的扫描中间点;(2)对每个移动点进行编号,在扫描奇数扫描单元时,每获取一张子图像便将子图像和对应编号存储进储存区域中;在扫描偶数扫描单元时,每获取一张子图像便将子图像沿垂直中心线进行镜像翻转后和对应编号存储进储存区域中;
(3)在接收到显示指令时,读取每张子图像以及对应编号,根据编号对应的位置关系将所有子图像拼接成完整图像。
[0093] 本申请实施例还提供了一种基于线扫相机的扫描装置,装置包括:获取单元,用于获取待扫描区域的区域信息;
划分单元,用于根据所述区域信息将待扫描区域划分为多个扫描单元;
确定单元,用于在所述扫描模式为预设扫描模式时,根据奇数扫描单元在第一方向上的第一个坐标确定所述奇数扫描单元的扫描起点,根据偶数扫描单元在第一方向上的最后一个坐标确定所述偶数扫描单元的扫描起点;其中,所述线扫相机沿所述第一方向扫描第一个所述扫描单元;
控制单元,用于控制所述线扫相机根据每个所述扫描单元的扫描起点从第一个扫描单元开始进行逐个扫描,以扫描整个所述待扫描区域。
[0094] 请参阅图6,图6是本申请实施例提供的一种电子设备的结构示意图。如图6所示,电子设备200包括:一个或多个处理器210以及存储器220,图6中以一个处理器210为例。
[0095] 在一些实施方式中,处理器210和存储器220可以通过总线或者其他方式连接,图6中以通过总线连接为例。
[0096] 在一些实施方式中,处理器210,用于获取待扫描区域的区域信息;根据所述区域信息将待扫描区域划分为多个扫描单元;在所述扫描模式为预设扫描模式时,根据奇数扫描单元在第一方向上的第一个坐标确定所述奇数扫描单元的扫描起点,根据偶数扫描单元在第一方向上的最后一个坐标确定所述偶数扫描单元的扫描起点;其中,所述线扫相机沿所述第一方向扫描第一个所述扫描单元;控制所述线扫相机根据每个所述扫描单元的扫描起点从第一个扫描单元开始进行逐个扫描,以扫描整个所述待扫描区域。
[0097] 在一些实施方式中,存储器220作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于线扫相机的扫描方法的程序指令/模块。处理器210通过运行存储在存储器220中的非易失性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的基于线扫相机的扫描方法。
[0098] 在一些实施方式中,存储器220可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器220可选包括相对于处理器210远程设置的存储器,这些远程存储器可以通过网络连接至控制器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0099] 在一些实施方式中,一个或者多个模块存储在存储器220中,当被一个或者多个处理器210执行时,执行上述任意方法实施例中的基于线扫相机的扫描方法,例如,执行以上描述的图2中的方法步骤110至步骤140。
[0100] 请参考图7,图7是本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质300中存储有程序代码310,程序代码310可被处理器调用执行上述方法实施例中所描述的基于线扫相机的扫描方法。
[0101] 计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读介质(non‑transitory computer‑readable storage medium)。计算机可读存储介质300具有执行上述控制方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可以例如以适当形式进行压缩。
[0102] 综上,本申请提供了一种基于线扫相机的扫描方法、装置、电子设备以及存储介质,该方法包括:获取待扫描区域的区域信息;根据区域信息将待扫描区域划分为多个扫描单元;在扫描模式为预设扫描模式时,根据奇数扫描单元在第一方向上的第一个坐标确定奇数扫描单元的扫描起点,根据偶数扫描单元在第一方向上的最后一个坐标确定偶数扫描单元的扫描起点;其中,线扫相机沿第一方向扫描第一行扫描单元;控制线扫相机根据每个扫描单元的扫描起点从第一个扫描单元开始进行逐个扫描,以扫描整个待扫描区域。本申请中偶数扫描单元的扫描起点不再为偶数扫描单元的开头,因此扫描完一行后,不需要从此行的末尾移动到下一行的开头扫描下一行,减少了换行扫描时线扫相机的移动距离,提高了扫描效率。
[0103] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页