CN111435416B - 基于多流水线的条形码图像解析方法、装置及存储介质 - Google Patents
基于多流水线的条形码图像解析方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111435416B CN111435416B CN202010049023.7A CN202010049023A CN111435416B CN 111435416 B CN111435416 B CN 111435416B CN 202010049023 A CN202010049023 A CN 202010049023A CN 111435416 B CN111435416 B CN 111435416B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- source
- source image
- pixel point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003703 image analysis method Methods 0.000 title abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000004458 analytical method Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims description 40
- 239000000872 buffer Substances 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010191 image analysis Methods 0.000 abstract description 6
- 238000005206 flow analysis Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种基于多流水线的条形码图像解析方法、装置及存储介质。该基于多流水线的条形码图像解析方法,采用两级流水线架构,通过第一级流水线对源图像进行定位处理;通过第二级流水线对源图像进行旋转处理,旋转处理时通过源像素点快速确认目的像素点并对目的图像进行像素填充,只需缓存像素填充后的包含多行数据的目的图像即可实现二值化和宽度流解析,得到条码解析结果,无需缓存整帧源图像,从而大大降低了硬件存储开销,并且,处理速度更快,实时性强。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种基于多流水线的条形码图像解析方法、装置及存储介质。
背景技术
条形码技术由于其准确度高、成本低、可靠性强等优点,被广泛的应用于商业、图书管理、交通等各个领域中。对于条形码而言,由于抖动或是条码放置在扫描终端前是倾斜的,导致扫描得到的图像也会发生倾斜,扫描终端扫描得到的图像,都需要定位条码区域后进行旋转处理以得到满足需求大小的输出图像中。目前,条形码的识别有三个过程:对源图像的条形码区域进行定位、对定位后的条形码区域图像进行旋转处理、对旋转之后的图像进行二值化解析。而在条形码扫描领域,对实时性要求比较高,如何快速对条形码进行解析是一个重要的研究领域。
图像旋转作为图像处理中最基本的几何变换之一,被广泛的应用于图像校正、图像缩放以及图像拼接等领域中。但是在某些对图像旋转实时性较高的应用场景中,例如上述提到的条形码的解析,需要完成从传感器来的图像源进行实时的图像旋转处理,而当前旋转方法通常采用坐标映射,通常都是缓存整帧源图像数据,通过已知目的图像点的坐标确定源点图像坐标,一般采用插值的方法如最近邻插值、双线性插值和双三次插值等技术来实现旋转。而实现这种实时的图像旋转,其处理速度通常受到硬件资源的开销以及数据源的帧率的限制,在帧率较快时,要达到图像旋转的实时性,需要非常大存储资源开销,,而且由于缓存整帧源图像,其实时性也仍旧比较差。
发明内容
基于上述现状,本发明的主要目的在于提供一种基于多流水线的条形码图像解析方法、装置及存储介质,能够在不占用大量存储资源的情况下,实现快速的图像旋转处理,在降低硬件资源开销的同时提高实时性。
为实现上述目的,本发明采用的技术方案如下:
一种基于多流水线的条形码图像解析方法,包括以下步骤:
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,当侦测到旋转处理速度与第二源图像的数据接收速度差值达到预设阈值时,通知控制中心进行中断异常处理。
优选地,步骤S2中,在步骤S22之后,还包括步骤:
S23,在当前第二源图像处理完成后,调整所述预设行范围以扩大接收下一帧源图像的存储空间。
为实现上述目的,本发明还提供一种基于多流水线的条形码图像解析装置,所述条形码图像解析装置包括:
定位系统,用于:通过第一级流水线实时从数据源接收第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;以及,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时复位定位系统,继续对下一帧源图像进行接收和定位处理;
旋转系统,用于:通过第二级流水线实时从数据源逐行接收第二源图像的行数据,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;丢弃已进行旋转处理的行数据;以及,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续接收第二源图像行数据并进行旋转处理,如已处理完成,则缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
控制中心,用于对所述宽度流数据进行解析,若解析成功,则将解析结果输出作为所述条形码解析结果,若解析失败,则通知定位系统和旋转系统继续定位处理和旋转处理直至所述条形码解析成功。
为实现上述目的,本发明还提供一种存储介质,所述存储介质存有计算机程序,所述计算机程序被处理器执行成如上所述的基于多流水线的条形码图像解析方法。
有益效果:
本发明的基于多流水线的条形码图像解析方法,采用两级流水线架构,通过第一级流水线对源图像进行定位处理;通过第二级流水线对源图像进行旋转处理,旋转处理时通过源像素点快速确认目的像素点并进行像素填充,无需缓存整帧图像,从而大大降低了硬件存储开销,并且,处理速度更快,实时性强。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对根据本发明的优选实施方式进行描述。图中:
图1为根据本发明的一种优选实施方式的基于多流水线的条形码图像解析方法的流程示意图;
图2为本发明的整体架构图;
图3所示是本发明一种优选实施方式中源图像和目的图像的像素点映射示意图;
图4所示是本发明一种优选实施方式中目的图像的有效目的像素点的标记示意图;
图5所示是本发明中一优选实时方式中某一帧源图像和由此得到的目的图像的示意图;
图6所示是一种优选实施方式中基于多流水线的条形码图像解析装置的功能模块示意图。
具体实施方式
为了对本发明的技术方案进行更详细的说明,以促进对本发明的进一步理解,下面结合附图描述本发明的具体实施方式。但应当理解,所有示意性实施例及其说明用于解释本发明,并不构成对本发明的唯一限定。
本发明应用于片上系统,由控制中心(CPU)和其他各个功能模块电路组成,各个功能模块电路独立完成各自的功能,而控制中心则负责系统资源的分配和调度。
请参考图1,所示是本发明第一实施例中基于多流水线的条形码图像解析方法的流程示意图,在本实施例中,基于多流水线的条形码图像解析方法包括如下步骤S0-S7:
S0,通过第一级流水线实时从数据源接收一帧源图像作为第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息;
具体的,源图像是条形码图像。对于某一个条形码而言,扫描终端在扫描的一瞬间(例如,1S内)会得到许多帧图像,这些图像就是需要进行处理的源图像,源图像一般是以一定的帧率从sensor中传输至片上系统进行处理,其行频也都是固定的。对于同一个条码而言,连续的两帧图像之间的变化通常不会太大,前后两帧图像的条形码区域也即条形码区域分布通常是相同的。在本发明应用场景中,由于前后帧图像变化不大,所以可以利用前一帧源图像的定位信息,对下一帧源图像进行旋转和二值化。
本发明整体架构如图2所示,采用了两级流水线,第一级流水线实现对前一帧源图像的定位处理,第二级流水线实现对下一帧源图像的旋转处理和二值化。第一级流水线对接收到的源图像进行定位处理后,可以得到该帧图像的定位信息,确定该帧图像中的条形码区域,定位信息包括旋转中心点和旋转角度,后续第二级流水线可以根据旋转中心点和旋转角度对下一帧帧图像进行旋转处理。
以下对两级流水线的架构进行说明:
流水线技术是一种时间并行技术,将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。本发明实施例中,将对源图像的处理分解成定位和旋转、二值化两个过程,分别由不同的流水线处理。第一级流水线用于对源图像帧的条码进行定位,完成一帧源图像帧的条码定位后,将结果送入第二级流水线,继续进行下一帧源图像的条码定位,而对于第二级流水线,则用于对源图像帧进行旋转处理和二值化,完成对一帧源图像的旋转处理和二值化后,输出结果,即可以继续下一帧源图像的旋转处理和二值化。
例如,第一帧源图像从数据源传输过来时,此时,由于是第一帧源图像,还未有定位信息,第二级流水线并不启动,第一级流水线接收第一帧源图像,对源图像进行定位处理后,可以得到第一帧源图像的定位信息,即旋转角度和旋转中心点。当第二帧源图像从数据源传输过来时,此时,第一级流水线和第二级流水线同时接收第二帧源图像,第一级流水线进行定位处理,第二级流水线则利用第一帧源图像的定位信息,对第二帧源图像进行旋转处理和二值化。然后,当第三帧图像从数据源传输过来时,仍旧由第一级流水线和第二级流水线同时分别进行定位和旋转、二值化,以此类推,如需要,可以继续处理第四帧、第五帧。从第二帧开始,由于源图像从数据源过来时,两级流水线都需要进行数据的接收和处理,也就是两级流水线需要同时接收源图像,因此,在两级流水线中,分配给两级流水线的缓存资源要保证这两个处理过程的时间是基本相等的,这样,可以减少互相等待的时间。缓存资源分配由控制中心提前设置好,以确保源图像的实时处理。
进一步地,在本发明其他实施例中,步骤S1包括:
S01,第一级流水线中,设置两块缓存,通过乒乓操作对所述第一源图像进行定位处理以确定所述第一源图像的定位信息。
具体的,进行定位处理时,可以通过设置乒乓缓存,使对于源图像的操作不间断,形成两个独立的数据流。第一源图像的源数据按行累计进入到两块乒乓缓存中。当第一块缓存的数据缓存完毕,此时,可以对第一块缓存内的行数据进行行分块后统计多行内各个块的参数求出定位信息,同时,第二块缓存可以继续接收第一源图像的行数据。第一块缓存内的行数据处理完毕,则释放缓存空间,开始接收第一源图像的行数据,此时,第二块缓存的数据缓存完毕,开始进行数据处理,即进行行分块后统计多行内各个块的参数求出定位信息。由此,可以实现两块缓存内读写分开,两个数据流独立处理,输入数据流和输出数据流都是不间断的,可以实现对源数据的无缝缓冲与处理,提高处理的速度。
对于源图像的数据接收,并不需要整帧缓存,而是按行缓存,处理完的多行数据,可以丢弃,空出新的位置以缓存新的行数据。
进一步地,在本发明实施例中,步骤S01中,定位处理包括:
对所述第一源图像中多行数据的各个块参数进行统计得到所述第一源图像中的定位信息。
具体的,对第一源图像进行块划分,进行各个块的参数统计,累计所有行的块的参数统计,可以确定该帧源图像的条形码区域、条形码区域旋转中心点和旋转角度。此处,参数可以包括各块的幅值参数和角度信息等。对于条形码的定位,本发明不做具体限制,可以通过现有的条形码行为算法实现。
S1,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,同时控制第一级流水线返回步骤S0继续对下一帧源图像进行接收和定位处理;
具体的,当第一级流水线处理完第一源图像后,会启动握手流水,通知第二级流水线开始准备进行下一帧源图像的接收和旋转处理,同时,也会复位第一流水线的定位系统,准备下一帧源图像的接收和定位处理。
可以理解的是,在两级流水线中,除了在处理第一帧源图像时,此时第二级流水线还未有定位信息可以对第二帧源图像进行处理,在处理其他源图像帧时,两级流水线都是同时进行的,而由于不需要缓存整帧源图像,所耗费的存储资源也是比较小的,由此,采用两级流水线架构可以在耗费较小存储资源的情况下加快处理速度。
S2,实时从数据源逐行接收第二源图像的行数据;
S3,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;
S4,丢弃已进行旋转处理的行数据;
S5,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续执行步骤S2;如已处理完成,则执行步骤S6;
以上步骤S2-S5在第二级流水线中执行,具体的,在本发明中,对于任意一帧源图像数据的接收,是一行一行进行缓存的,边接收边实时处理,处理过后的数据则可以直接丢弃,空出存储位置以接收下一行的数据,直至遍历整帧源图像的行数据,而并不需要整帧全部缓存后再进行处理,因此,无需提供足够整帧源图像的存储资源,而只需配置少量内部缓存即可。
可以理解,对于条形码区域,需要能够获取X方向的数据,才能知道的多个黑条和空白之间的排列规则和宽度,即列数据需要是完整的,但对于行数据,可以根据不同的解析精度缓存部分行数据即可实现条形码的识别解析,因此,对于不同的解析精度要求,需要的目的图像大小是不一样的,例如,如图5所示,是由源图像得到一个目的图像的示意图,对于640(列,即竖直方向)*480(行,即水平方向)的源图像,条形码区域可能是640*64,而根据不同精度需求,目的图像可以是640*16、640*32等不同大小,例如,图中所示目的图像大小就是640*32,但是,不管目的图像大小如何,都需要对源图像进行旋转处理后将条形码区域的数据填充到目的图像中。
具体的,如前所述,图像源连续的两帧图像之间的变化通常不会太大,前后两帧图像的条形码区域分布通常是相同的。因此,在本实施例中,可以利用前一帧源图像的定位信息,来对下一帧源图像进行旋转处理。现有技术中,对于图像的旋转变化,通常采用插值算法进行,一般需要确定源图像每一个像素点的像素值,通过目的像素点确定计算影响它的源像素点,由此才能够实现对旋转后的目的图像上像素点的像素填充。而在本发明实施例中,第二源图像的数据不是整帧缓存后处理的,而是按行接收实时处理的,在进行旋转处理时,并不知道整帧源图像每一个像素点的像素值,因此,在本发明实施例中,旋转处理是由源图像到目的图像,通过源图像中已接收的行数据中的源像素点确定需要填充的目的像素点,处理完毕后,已处理的行数据会被从缓存中被吐出丢弃,存储资源释放,继续下一个行数据的处理。
可以理解的是,可以接收的源图像的最大行数据,以及每次可以处理行数据的量,取决于控制中心对系统存储资源的分配,例如,可以接收最多16行数据,然后一次处理2行数据、3行数据、4行数据或是其他数量,每次处理完就释放该存储资源,但是对于第二流水线而言,最多能接收的行数据仍是16行。
可以理解的是,对于第二源图像的处理,是边接收边进行旋转处理,因此,当对第二源图像的行数据都已经进行了遍历,即对每一行数据都已经进行了旋转处理,则对该帧源图像的处理结束,可以得到第二目的图像,如果还未处理完毕,则继续接收并进行旋转,直至处理完毕。
S6,缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
此步骤在第二级流水线中执行。具体的,如上所述,对于条形码区域,需要能够获取X方向的数据,才能知道的多个黑条和空白之间的排列规则和宽度,即列数据需要是完整的,但对于行数据,可以根据不同的解析精度缓存部分行数据即可实现条形码的识别解析。在本发明中,假设只需要预设行行数据,就可以在预设精度内实现条形码的识别解析,因此,相比于第二源图像,第二目的图像只需要预设行即可,具体由二值化解析时的所需精度决定,因此,缓存第二目的图像所需的缓存,相比于原来整帧缓存源图像,此部分缓存通常只需要缓存多行旋转后的条码区域,相比而言是非常小的。如图5所示,640*480的源图像,最终得到的目的图像只是640*32大小。缓存第二目的图像后,还需要对其进行二值化解析以转换为控制中心可解析的宽度流数据,该宽度流数据所耗费的缓存是非常小的,在整帧源图像的处理中,几乎可以忽略不计
S7,控制中心对所述宽度流数据进行解析,若解析成功,则执行步骤S8,若解析失败,则执行步骤S0;
S8,控制中心将解析结果输出作为所述条形码解析结果
具体的,控制中心对第二目的图像的宽度流数据进行解析,如果能够成功得到条形码的解析结果,则对条形码的图像解析到此结束,控制中心通知第一级流水线和第二级流水线停止处理,如果还没解析成功,则需要继续处理,重复执行步骤S0-S6直至解析成功。
本发明实施例在处理源图像时,旋转处理时通过源像素点快速确认目的像素点并进行目的图像的填充,无需缓存整帧图像,摆脱了对大容量存储资源依赖的同时也提高了处理速度,并且,采用了两级流水线架构,也能够进一步提高了图像处理的实时性。
进一步地,在本实施例中,步骤S3包括:
S31,第二级流水线中,在已接收的行数据中以M行为单位,每次对M行数据进行处理
针对每一个M行数据,处理方法为:
S32,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充。
具体的,由于系统内存资源有效,每次可以处理的行数据是有限的,假设每次处理M行数据,M为大于1的整数;对于每次处理的行数据,本实施例中,是分区域进行处理的,由于第一级流水线中已经确定了旋转中心和旋转角度,对于每一次图像解析来说,第二目的图像大小也是确定的,只需要对其中的有效目的像素点进行像素填充,此时,可以由旋转中心点和旋转角度,按顺序,例如,从左到右,或是从右到左,计算M行数据中每一个区域对应到第二目的图像中的有效目的像素点,然后,根据该区域内所包含的源像素点,通过插值算法对有效目的像素点进行像素填充,由此,可以得到M行数据中对应的所有有效目的像素点。确定所有区域对应的有效目的像素点后,就可以得到填充完毕的第二目的图像。
可以理解的,不同区域之间,可以存在重叠,本发明对此不作限制。
进一步地,在一优选实施例中,步骤S3包括:
S33,在已接收的行数据中以M行为单位,每次对M行数据进行处理;
针对每一个M行数据,处理方法为:
S34,依据所述定位信息确定所述M行数据是否包括所述条形码区域;若是,执行步骤S35;若否,执行步骤S36;
S35,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充;
S36,丢弃所述M行数据,处理下一个M行数据。
具体的,在此实施例中,在对M行数据进行处理前,可以先根据之前的定位信息判断这M行数据是否存在条形码区域,如果这M行数据都是无效数据,则无需处理,可以直接丢弃掉,继续下一个M行数据的处理。
进一步地,在本发明一优选实施例中,S32或S35包括:
S311,在所述M行数据中,从行数据任一侧第一个源像素点开始,以所述第一个源像素点为左顶点或右顶点确定预设的第一区域;
S312,自所述第一区域向行数据另一侧依次移动P个像素点得到所述预设数量的行数据其他区域数;
S314,每确定一个区域后,根据所述旋转中心点和旋转角度计算所述预设数量的行数据中已确定区域对应的有效目的像素点并进行像素填充。
具体的,为了能够遍历M行数据中的所有像素点,可以从行数据任一侧的第一个源像素点开始,确定第一个区域,该第一个源像素点可以作为该第一区域的左顶点或是右顶点。确定第一区域后,可以计算该第一区域对应的有效目的像素点,然后通过该区域内的源像素点对有效目的像素点进行像素填充。完成第一区域的处理后,自第一区域向左或是向右,也即向行数据另一侧依次移动P像素点可以得到后续其他区域,此处,P为大于等于1的整数,可以依据需要的解析精度确定。对于每一个区域,其旋转处理跟第一区域相同,此处不再赘述。以下以第一区域为例对于如何确定每一个区域对应的有效目的像素点进行说明:对于几何图形的旋转处理,在确定旋转中心和旋转角度的情况下,已知源图像的一个像素点,根据旋转中心点以及角度可以求出对应旋转之后的目的像素点的坐标,同样的,根据目的图像上的一点像素点,也可以找到源图像上的与之对应的一点。对于第一区域,可以以左顶点或右顶点作为第一源像素点,计算出对应旋转之后的目的像素点的坐标,通常而言,该坐标一般不会是整数(像素点坐标通常都是以整数表示),因此,根据该目的像素点反映射出来的源像素点与第一源像素点也可能不是同一点,很可能并不落入第一区域内,则不是第一区域对应的有效像素点。因此,将第一区域映射到第二目的图像后,可能不包括目的像素点,也可能包括多个目的像素点。为了确认有效的目的像素点,可以以计算出的目的像素点为中心,在第二目的图像中划出一个预设大小的区域,对于该区域内的所有目的像素点,一一进行反映射,得到的源像素点坐标落在第一区域内的目的像素点,则认为是有效目的像素点,此时,可以通过插值算法,由第一区域内包含的源像素点的像素值,对每一个有效的目的像素点进行填充。
进一步地,在一优选实施例中,S314中之后,步骤S31还包括:
设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;
在对每一个区域对应的有效目的像素点进行像素填充时,从所述预设寄存器读取标记数据以定位有效目的像素点。
具体的,在映射区域内,也即第二目的图像与第二源图像中某一区域对应的区域内,可能只包含几个有效点,并且位置时随机分布,如图4所示,可能是0、3、n位置的点有效,因此,可以设置一个预设寄存器,当确定该目的像素点有效时,标记有效的点,然后排列成0、1、2...n个点,假设n=7,则标记为10001001b,并存入预设寄存器中,这样,当进行填充时,就可以快速找出对应的有效目的像素点的位置进行像素填充,而不需要遍历整个映射区域内的所有像素点。
通过对有效目的像素点进行标记,可以提高目的像素点的填充速度,从而加快旋转处理,提高实时性。
进一步地,在另一优选实施例中,步骤S31包括:
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,以对确定后的区域对应的有效目的像素点进行像素填充。
具体的,在本实施例中,第二级流水线进行旋转处理时,一次处理M行数据,此时,设定每一个区域的大小为M,可以理解,每一个区域的大小也可以不是M*M,而是其他大小,但区域的行数必然小于M,本实施例中以区域大小为M*M进行说明。可以理解的是,此时,为了避免遗漏源图像任意列数据,P的取值应当小于M。更近一步地,当填充时采用双线性二次插值算法时,M可以取值为2,此时,第二级流水线每次处理已接收的2行源图像数据,在处理这2行源图像数据时,以每一个2*2区域为单位对第二目的图像进行填充。以下以L取5对任一区域中的旋转过程进行详细说明:
假设源图像中源像素点所在的坐标系为
g(
i,j),目的图像中目的像素点所在的坐标系
f(
x,y)。已知源图像的一个像素点p坐标为
p(
i,j),根据旋转中心点以及旋转角度可以求出对应旋转之后的目的像素点d的像素坐标,如下公式(1)所示,其中,
cos_angle/sin_
angle是旋转角度的cos/sin值(精度转化为ACC位定点),
(sx,sy)是源图像
g的旋转中心点(条码区域),
(dx,dy)是旋转后目的图像中心点(即目的图像尺寸的中心点),ACC是计算的精度值(例如10位)。同理,根据目的图像上的一点像素点d的坐标
d(
x,y),也可以找到源图像上与之对应的一点的坐标(
, ),如式(2):
(1)
(2)
请参考图3,所示是本实施例中源图像和目的图像的像素点映射图,由源图像的p计算目的像素d时,由于计算出来的坐标可能不是整数,则目的图像点d反推出的点与p可能也不是同一点,如图3所示,所以在源像素中以p点为顶点的2x2区域中可能不包括目的像素点,也有可能包括多个目的像素点。由于旋转之后,两点之间固定的步长保持不变,理论上2x2块源点上包括最多2个目的像素点,但是由于存在计算精度的误差,所以最多可能不止两个。以目的图像上的d找到周围5x5的点形成映射区域,对这些目的坐标点进行(2)反映射,则坐标(
, )落在2x2区域内的像素点便是需要填充的目的像素点。此时可以通过双线性二次插值算法对需要填充的目的像素点进行填充,当以p为左顶点的2x2区域填充完该区域对应的有效目的像素点后,将2x2窗口左移或是右移一个像素点,进行下一个区域的处理。
可以理解的是,在本发明实施例中,L为大于M的整数,L的取值由解析的精度和系统内存资源确定,可以通过调试确定合适的值。
进一步地,在一优选实施例中,步骤S32或S35中,S319之后,还包括:
设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;
在对每一个区域对应的有效目的像素点进行像素填充前,从所述预设寄存器读取标记数据以定位有效目的像素点。
具体的,在映射区域内,也即第二目的图像与第二源图像中M*M区域对应的L*L区域内,可能只包含几个有效点,并且位置时随机分布,如图4所示,可能是0、3、n位置的点有效,因此,可以设置一个预设寄存器,当确定该目的像素点有效时,标记有效的点,然后排列成0、1、2、... ...n个点,假设n=7,则标记为10001001b,并存入预设寄存器中,这样,当进行填充前,就可以快速快速找出对应的有效目的像素点的位置进行像素填充,而不需要遍历整个映射区域内的所有像素点。
通过对有效目的像素点进行标记,可以提高目的像素点的填充速度,从而加快旋转处理,提高实时性。
进一步地,在一优选实施例中,所述步骤S2包括:
S21,设置一个循环行缓冲区,配置预设行范围实时接收所述第二源图像的行数据以进行旋转处理;
S22,当侦测到旋转处理速度与第二源图像的行数据接收速度差值达到预设阈值时,通知控制中心进行中断异常处理;
S23,在当前第二源图像处理完成后,调整所述预设行范围以扩大接收下一帧源图像的存储空间。
具体的,第二流水线可以设置一个预设容量的循环行buffer,假设现在总的buffer行数是16行,现在进行第二源图像数据的接收,最初控制中心只配置了8行用于接收第二源图像的行数据。对于旋转系统来说,最大只能缓存8行,旋转处理是M行例如2行为一次进行处理,处理完这个buffer位置就空出来缓存新的数据,但是源图像数据一直占用的还是8行的buffer。
由于源图像的处理是一帧帧进行的,如果在处理当前帧时,由于源图像的旋转角度很小,实时旋转处理速度跟不上行数据的接收速度,则旋转系统在当前帧会报一个带宽出错中断,通知控制中心进行中断处理,则控制中心在第二级流水线进行下一帧的处理前会将第二级流水线用于接收第二源图像行数据的buffer行数从8行buffer扩到12行或者更大,以避免新接收的数据无法缓冲或是覆盖还未处理的数据。
通过设置循环行buffer来协调图像接收速度和旋转处理速度,这样,避免了旋转处理速度跟不上源图像的接收速度,避免了数据的漏处理和中断错误。
本发明第二实施例进一步提供一种基于多流水线的条形码图像解析装置。请参考图6,在本实施例中,条形码图像解析装置100包括定位系统110,、旋转系统120和控制中心130。
定位系统110,用于:通过第一级流水线实时从数据源接收第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;以及,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时复位定位系统,继续对下一帧源图像进行接收和定位处理;
旋转系统120,用于:通过第二级流水线实时从数据源逐行接收第二源图像的行数据,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;丢弃已进行旋转处理的行数据;判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续接收第二源图像行数据并进行旋转处理;如已处理完成,则缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
控制中心130,用于对所述宽度流数据进行解析,若解析成功,则将解析结果输出作为所述条形码解析结果,若解析失败,则通知定位系统和旋转系统继续定位处理和旋转处理直至所述条形码解析成功。
条形码图像解析装置实现基于多流水线的条形码图像解析方法的过程在前文已经详细描述,此处不再赘述。
本发明第三实施例进一步提供一种存储介质,存储介质存有计算机程序,所述计算机程序被处理器执行成如前文所述的基于多流水线的条形码图像解析方法。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
Claims (11)
1.一种基于多流水线的条形码图像解析方法,其特征在于,所述方法包括以下步骤:
S0,通过第一级流水线实时从数据源接收一帧源图像作为第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;
S1,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时控制第一级流水线返回步骤S0继续对下一帧源图像进行接收和定位处理;
在第二级流水线中,执行以下步骤S2-S6:
S2,实时从数据源逐行接收第二源图像的行数据;
S3,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;所述S3包括:
S31,在已接收的行数据中以M行为单位,每次对M行数据进行处理;其中,M为大于1的整数;
针对每一个M行数据,处理方法为:
S32,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充;或,
S34,依据所述定位信息确定所述M行数据是否包括所述条形码区域;若是,执行步骤S35;若否,执行步骤S36;
S35,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充;
S36,丢弃所述M行数据,处理下一个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的整数;
S4,丢弃已进行旋转处理的行数据;
S5,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续执行步骤S2;如已处理完成,则执行步骤S6;
S6,缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
S7,控制中心对所述宽度流数据进行解析,若解析成功,则执行步骤S8,若解析失败,则执行步骤S0;
S8,控制中心将解析结果输出作为所述条形码解析结果。
2.根据权利要求1所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S0包括:
S01,第一级流水线中,设置两块缓存,通过乒乓操作对所述第一源图像进行定位处理以确定所述第一源图像的定位信息。
3.根据权利要求2所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S01中,所述定位处理包括:
对所述第一源图像中多行数据的各个块参数进行统计得到所述第一源图像中的定位信息。
4.根据权利要求1所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S32或S35包括:
S311,在所述M行数据中,从行数据任一侧第一个源像素点开始,以所述第一个源像素点为左顶点或右顶点确定预设的第一区域;
S312,自所述第一区域向行数据另一侧依次移动P个像素点得到所述M行数据其他区域,其中,P为大于等于1的整数;
S314,每确定一个区域后,根据所述旋转中心点和旋转角度计算所述M行数据中已确定区域对应的有效目的像素点并进行像素填充。
5.根据权利要求1所述的基于多流水线的条形码图像解析方法,其特征在于,当采用双线性二次插值对有效目的像素点进行像素填充时,M取值为2。
6.根据权利要求4所述的基于多流水线的条形码图像解析方法,其特征在于,在步骤S314之后还包括步骤:
设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;
在对每一个区域对应的有效目的像素点进行像素填充时,从所述预设寄存器读取标记数据以定位有效目的像素点。
7.根据权利要求5所述的基于多流水线的条形码图像解析方法,其特征在于,在步骤S319之后,还包括:
设置预设寄存器对所述有效目的像素点进行标记,当确认一个有效目的像素点时,对该有效目的像素点的位置进行标记;
在对每一个区域对应的有效目的像素点进行像素填充前,从所述预设寄存器读取标记数据以定位有效目的像素点。
8.根据权利要求1-7任一项所述的基于多流水线的条形码图像解析方法,其特征在于,步骤S2包括:
S21,设置一个循环行缓冲区,配置预设行范围实时接收所述第二源图像的行数据以进行旋转处理;
S22,当侦测到旋转处理速度与第二源图像的数据接收速度差值达到预设阈值时,通知控制中心进行中断异常处理。
9.根据权利要求8所述的基于多流水线的条形码图像解析方法,其特征在于,在步骤S22之后,还包括步骤:
S23,在当前第二源图像处理完成后,调整所述预设行范围以扩大接收下一帧源图像的存储空间。
10.一种基于多流水线的条形码图像解析装置,其特征在于,所述条形码图像解析装置包括:
定位系统,用于:通过第一级流水线实时从数据源接收第一源图像,对第一源图像进行定位处理以确定所述第一源图像中的条形码区域的定位信息,所述定位信息包括条形码区域的旋转中心点和旋转角度;以及,启动握手流水,通知第二级流水线开始进行第二源图像的接收和旋转处理,所述第二源图像为所述第一源图像的下一帧源图像;同时复位定位系统,继续对下一帧源图像进行接收和定位处理;
旋转系统,用于:通过第二级流水线实时从数据源逐行接收第二源图像的行数据,依据所述定位信息对已接收的行数据进行由源图像到目的图像的旋转处理,将旋转后得到的像素点填充到目的图像中,以用于形成第二目的图像;丢弃已进行旋转处理的行数据;以及,判断第二源图像的行数据是否都已进行旋转处理,如未处理完成,则继续接收第二源图像行数据并进行旋转处理,如已处理完成,则缓存所述第二目的图像至外部缓存,并对所述第二目的图像进行二值化解析以得到宽度流数据;
控制中心,用于对所述宽度流数据进行解析,若解析成功,则将解析结果输出作为所述条形码解析结果,若解析失败,则通知定位系统和旋转系统继续定位处理和旋转处理直至所述条形码解析成功;
其中,所述旋转系统形成第二目的图像包括:在已接收的行数据中以M行为单位,根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充,或,依据所述定位信息确定所述M行数据是否包括所述条形码区域;若是,则根据所述旋转中心点和旋转角度按顺序计算所述M行数据中每一个区域对应的有效目的像素点,对所述第二目的图像中的有效目的像素点进行像素填充,若否,则丢弃所述M行数据,处理下一个M行数据,M为大于1的整数,所述每一个区域的大小为M*M;
对所述第二目的图像中的有效目的像素点进行像素填充包括:
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的整数。
11.一种存储介质,所述存储介质存有计算机程序,其特征在于,所述计算机程序被处理器运行时,执行如权利要求1-9任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020100380538 | 2020-01-14 | ||
CN202010038053 | 2020-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111435416A CN111435416A (zh) | 2020-07-21 |
CN111435416B true CN111435416B (zh) | 2023-05-09 |
Family
ID=71581110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010049023.7A Active CN111435416B (zh) | 2020-01-14 | 2020-01-16 | 基于多流水线的条形码图像解析方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111435416B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504716A (zh) * | 2009-03-13 | 2009-08-12 | 重庆大学 | 基于现场可编程门阵列的qr二维条码识别方法及系统 |
CN104346597A (zh) * | 2014-10-29 | 2015-02-11 | 中山大学 | 一种qr码检测与校正提取方法及ip核 |
CN104751097A (zh) * | 2015-03-30 | 2015-07-01 | 深圳市道通科技股份有限公司 | 一种车辆识别码的检测处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034074B (zh) * | 2009-09-25 | 2014-05-14 | 神基科技股份有限公司 | 在图像中定位并撷取条形码区域的图像处理方法及装置 |
-
2020
- 2020-01-16 CN CN202010049023.7A patent/CN111435416B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504716A (zh) * | 2009-03-13 | 2009-08-12 | 重庆大学 | 基于现场可编程门阵列的qr二维条码识别方法及系统 |
CN104346597A (zh) * | 2014-10-29 | 2015-02-11 | 中山大学 | 一种qr码检测与校正提取方法及ip核 |
CN104751097A (zh) * | 2015-03-30 | 2015-07-01 | 深圳市道通科技股份有限公司 | 一种车辆识别码的检测处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111435416A (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11997397B2 (en) | Method, apparatus, and device for processing images, and storage medium | |
CN107945112B (zh) | 一种全景图像拼接方法及装置 | |
US10755472B2 (en) | Method and apparatus for displaying image based on user motion information | |
JP5593060B2 (ja) | 画像処理装置、および画像処理装置の動作方法 | |
US8704842B1 (en) | System and method for histogram computation using a graphics processing unit | |
JP5893445B2 (ja) | 画像処理装置、および画像処理装置の動作方法 | |
CN110992246A (zh) | 影像的金字塔分层切片方法 | |
CN114913076B (zh) | 一种图像缩放旋转方法、装置、系统及介质 | |
CN114356243A (zh) | 数据处理方法、装置及服务器 | |
CN111435416B (zh) | 基于多流水线的条形码图像解析方法、装置及存储介质 | |
CN111435417B (zh) | 一种用于条形码扫描的图像解析方法、装置及存储介质 | |
JP2010176547A (ja) | 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム | |
CN113079342A (zh) | 基于高分辨率影像装置的目标追踪方法及系统 | |
US6809422B2 (en) | One-chip image processing apparatus | |
JP2005033763A (ja) | 送信装置、画像処理システム、画像処理方法、プログラム、及び記録媒体 | |
US20100164965A1 (en) | Rendering module for bidimensional graphics, preferably based on primitives of active edge type | |
CN112529943B (zh) | 一种物体检测方法、物体检测装置及智能设备 | |
JP4970378B2 (ja) | メモリコントローラおよび画像処理装置 | |
CN115190303A (zh) | 一种云端桌面图像处理方法、系统和相关设备 | |
JP2007088910A (ja) | 動きベクトル検出装置及び撮像装置 | |
CN111108528A (zh) | 用于评估图像的方法和设备、运行辅助方法和运行设备 | |
JP2016527631A (ja) | グラフィックス処理ユニットを用いたヒストグラム計算のシステム及び方法 | |
US8934736B2 (en) | Image processing apparatus, image processing system, and method for having computer process image | |
CN113610883B (zh) | 点云处理系统和方法、计算机设备和存储介质 | |
JP2001043359A (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 519075 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |