基于多流水线的条形码图像解析方法、装置及存储介质制造方法及图纸

技术编号:24964925 阅读:29 留言:0更新日期:2020-07-21 15:08
本发明专利技术涉及一种基于多流水线的条形码图像解析方法、装置及存储介质。该基于多流水线的条形码图像解析方法,采用两级流水线架构,通过第一级流水线对源图像进行定位处理;通过第二级流水线对源图像进行旋转处理,旋转处理时通过源像素点快速确认目的像素点并对目的图像进行像素填充,只需缓存像素填充后的包含多行数据的目的图像即可实现二值化和宽度流解析,得到条码解析结果,无需缓存整帧源图像,从而大大降低了硬件存储开销,并且,处理速度更快,实时性强。

【技术实现步骤摘要】
基于多流水线的条形码图像解析方法、装置及存储介质
本专利技术涉及图像处理领域,尤其涉及一种基于多流水线的条形码图像解析方法、装置及存储介质。
技术介绍
条形码技术由于其准确度高、成本低、可靠性强等优点,被广泛的应用于商业、图书管理、交通等各个领域中。对于条形码而言,由于抖动或是条码放置在扫描终端前是倾斜的,导致扫描得到的图像也会发生倾斜,扫描终端扫描得到的图像,都需要定位条码区域后进行旋转处理以得到满足需求大小的输出图像中。目前,条形码的识别有三个过程:对源图像的条形码区域进行定位、对定位后的条形码区域图像进行旋转处理、对旋转之后的图像进行二值化解析。而在条形码扫描领域,对实时性要求比较高,如何快速对条形码进行解析是一个重要的研究领域。图像旋转作为图像处理中最基本的几何变换之一,被广泛的应用于图像校正、图像缩放以及图像拼接等领域中。但是在某些对图像旋转实时性较高的应用场景中,例如上述提到的条形码的解析,需要完成从传感器来的图像源进行实时的图像旋转处理,而当前旋转方法通常采用坐标映射,通常都是缓存整帧源图像数据,通过已知目的图像点的坐标确定源点图像坐标,一般采用插值的方法如最近邻插值、双线性插值和双三次插值等技术来实现旋转。而实现这种实时的图像旋转,其处理速度通常受到硬件资源的开销以及数据源的帧率的限制,在帧率较快时,要达到图像旋转的实时性,需要非常大存储资源开销,,而且由于缓存整帧源图像,其实时性也仍旧比较差。
技术实现思路
基于上述现状,本专利技术的主要目的在于提供一种基于多流水线的条形码图像解析方法、装置及存储介质,能够在不占用大量存储资源的情况下,实现快速的图像旋转处理,在降低硬件资源开销的同时提高实时性。为实现上述目的,本专利技术采用的技术方案如下:一种基于多流水线的条形码图像解析方法,包括以下步骤:S0,通过第一级流水线实时从数据源接收一帧源图像作为第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;S1,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时控制第一级流水线返回步骤S0继续对下一帧源图像进行接收和定位处理;在第二级流水线中,执行以下步骤S2-S6:S2,实时从数据源逐行接收第二源图像的行数据;S3,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;S4,丢弃已进行旋转处理的行数据;S5,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续执行步骤S2;如已处理完成,则执行步骤S6;S6,缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;S7,控制中心对所述宽度流数据进行解析,若解析成功,则执行步骤S8,若解析失败,则执行步骤S0;S8,控制中心将解析结果输出作为所述条形码解析结果。优选地,步骤S0包括:S01,第一级流水线中,设置两块缓存,通过乒乓操作对所述第一源图像进行定位处理以确定所述第一源图像的定位信息。优选地,步骤S01中,所述定位处理包括:对所述第一源图像中多行数据的各个块参数进行统计得到所述第一源图像中的定位信息。优选地,步骤S3包括:S31,在已接收的行数据中以M行为单位,每次对M行数据进行处理;其中,M为大于1的整数;针对每一个M行数据,处理方法为:S32,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充。优选地,步骤S3包括:S33,在已接收的行数据中以M行为单位,每次对M行数据进行处理;针对每一个M行数据,处理方法为:S34,依据所述定位信息确定所述M行数据是否包括所述条形码区域;若是,执行步骤S35;若否,执行步骤S36;S35,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充;S36,丢弃所述M行数据,处理下一个M行数据。优选地,步骤S32或S35包括:S311,在所述M行数据中,从行数据任一侧第一个源像素点开始,以所述第一个源像素点为左顶点或右顶点确定预设的第一区域;S312,自所述第一区域向行数据另一侧依次移动P个像素点得到所述M行数据其他区域,其中,P为大于等于1的整数;S314,每确定一个区域后,根据所述旋转中心点和旋转角度计算所述M行数据中已确定区域对应的有效目的像素点并进行像素填充。优选地,所述每一个区域的大小为M*M,步骤S32或S35包括:S315,在所述M行数据中,从行数据任一侧第一个源像素点p开始,以所述源像素点p为左顶点或右顶点确定大小为M*M的第一区域;S316,根据所述旋转中心点和旋转角度计算所述源像素点p映射到所述第二目的图像中的目的像素点d的坐标;S317,以目的像素点d为中心,划定第二目的图像中L*L的映射区域,映射区域内包括L*L个备选目的像素点;其中,所述L为大于M的整数;S318,根据所述旋转中心点和旋转角度计算所述备选目的像素点反映射到所述第二源图像中的源像素点;S319,当任一备选目的像素点反映射后对应的源像素点落在所述第一区域中,则确定该备选目的像素点为有效目的像素点;S320,依据所述第一区域内的像素点,通过插值算法对所述映射区域内的所有有效目的像素点进行像素填充;S321,自所述第一区域向行数据另一侧依次移动P个像素点直至确定所述M行数据的所有区域,每确定一个区域后,循环执行步骤S316至步骤S320,以对确定后的区域对应的有效目的像素点进行像素填充,其中,P为大于等于1且小于M的整数。优选地,当采用双线性二次插值对有效目的像素点进行填充时,M取值为2。优选地,步骤S32或S35中,在步骤S314之后还包括步骤:设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;在对每一个区域对应的有效目的像素点进行像素填充时,从所述预设寄存器读取标记数据以定位有效目的像素点。优选地,步骤S32或S35中,在步骤S319之后,还包括:设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;在对每一个区域对应的有效目的像素点进行像素填充前,从所述预设寄存器读取标记数据以定位有效目的像素点。优选地,步骤S2包括:S21,设置一个循环行缓冲区,配置预设行范围实时接收所述第二源图像的行数据以进行旋转处理;S22,当侦测到旋转处理速度与第二源图像的数据接收本文档来自技高网...

【技术保护点】
1.一种基于多流水线的条形码图像解析方法,其特征在于,所述方法包括以下步骤:/nS0,通过第一级流水线实时从数据源接收一帧源图像作为第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;/nS1,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时控制第一级流水线返回步骤S0继续对下一帧源图像进行接收和定位处理;/n在第二级流水线中,执行以下步骤S2-S6:/nS2,实时从数据源逐行接收第二源图像的行数据;/nS3,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;/nS4,丢弃已进行旋转处理的行数据;/nS5,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续执行步骤S2;如已处理完成,则执行步骤S6;/nS6,缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;/nS7,控制中心对所述宽度流数据进行解析,若解析成功,则执行步骤S8,若解析失败,则执行步骤S0;/nS8,控制中心将解析结果输出作为所述条形码解析结果。/n...

【技术特征摘要】
20200114 CN 20201003805381.一种基于多流水线的条形码图像解析方法,其特征在于,所述方法包括以下步骤:
S0,通过第一级流水线实时从数据源接收一帧源图像作为第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;
S1,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时控制第一级流水线返回步骤S0继续对下一帧源图像进行接收和定位处理;
在第二级流水线中,执行以下步骤S2-S6:
S2,实时从数据源逐行接收第二源图像的行数据;
S3,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;
S4,丢弃已进行旋转处理的行数据;
S5,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续执行步骤S2;如已处理完成,则执行步骤S6;
S6,缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
S7,控制中心对所述宽度流数据进行解析,若解析成功,则执行步骤S8,若解析失败,则执行步骤S0;
S8,控制中心将解析结果输出作为所述条形码解析结果。


2.根据权利要求1所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S0包括:
S01,第一级流水线中,设置两块缓存,通过乒乓操作对所述第一源图像进行定位处理以确定所述第一源图像的定位信息。


3.根据权利要求2所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S01中,所述定位处理包括:
对所述第一源图像中多行数据的各个块参数进行统计得到所述第一源图像中的定位信息。


4.根据权利要求1-3任一项所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S3包括:
S31,在已接收的行数据中以M行为单位,每次对M行数据进行处理;其中,M为大于1的整数;
针对每一个M行数据,处理方法为:
S32,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充。


5.根据权利要求1-3任一项所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S3包括:
S33,在已接收的行数据中以M行为单位,每次对M行数据进行处理;
针对每一个M行数据,处理方法为:
S34,依据所述定位信息确定所述M行数据是否包括所述条形码区域;若是,执行步骤S35;若否,执行步骤S36;
S35,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充;
S36,丢弃所述M行数据,处理下一个M行数据。


6.根据权利要求4或5所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S32或S35包括:
S311,在所述M行数据中,从行数据任一侧第一个源像素点开始,以所述第一个源像素点为左顶点或右顶点确定预设的第一区域;
S312,自所述第一区域向行数据另一侧依次移动P个像素点得到所述M行数据其他区域,其中,P为大于等于1的整数;
S314,每确定一个区域后,根据所述旋转中心点和旋转角度计算所述M行数据中已确定区域对应的有效目的像素点并进行像素填充。


7.根据权利要求4或5所述的基于多流水线的条形码图像解析方法,其特征在于,所述每一个区域的大小为M*M,步骤S32或S35包括:
S315,在所述M行数据中,从行数据任一侧第一个源像素点p开始,以所述源像素点p为左顶点或右顶点确定大小为M*M的第一区域;
S316,根据所述旋转中心点和旋转角度计算所述源像素点...

【专利技术属性】
技术研发人员:薛文良吴毓宇侯健达
申请(专利权)人:珠海市杰理科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1