CN1950828A - 二维代码区域提取方法,二维代码区域提取装置、电子装置,二维代码区域提取程序,以及包含该程序的记录媒介 - Google Patents
二维代码区域提取方法,二维代码区域提取装置、电子装置,二维代码区域提取程序,以及包含该程序的记录媒介 Download PDFInfo
- Publication number
- CN1950828A CN1950828A CNA2005800135421A CN200580013542A CN1950828A CN 1950828 A CN1950828 A CN 1950828A CN A2005800135421 A CNA2005800135421 A CN A2005800135421A CN 200580013542 A CN200580013542 A CN 200580013542A CN 1950828 A CN1950828 A CN 1950828A
- Authority
- CN
- China
- Prior art keywords
- code
- blank
- white
- blank parts
- pixel
- 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.)
- Granted
Links
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/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
Abstract
一种二维代码区域提取装置(1)包括:垂直和水平扫描包含二维代码的图像数据的扫描装置(11);检测由被扫描像素的白色/黑色等级并确定空白部分的空白部分检测装置(12);计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标的非空白部分计算装置(13);分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在的比较单元(14);以及比较被检测的多个二维代码候选区域并对其排序的排序确定单元(15)。
Description
技术领域
本发明涉及一种提取存在有二维代码的区域的二维代码区域提取方法,一种二维代码区域提取装置,一种电子装置,一种二维代码区域提取程序,以及一种记录上述程序的记录媒介。
背景技术
近年来尺寸小并且低能耗的图像传感器的发展已经使在便携装置如移动电话内部构建照相机成为了可能。结果是,存储在内置照相机内的图像能立即通过电子邮件传送。在这种内置照相机中,然而,优先必须是尺寸小,并且与传统数码相机相比分辨率低。
当今手机也配置了上网功能。为了连接到互联网,必须利用密钥使URL(统一资源定位器)进入。把长的URL装入手机是需要时间的。现在已经试图省略装进URL的麻烦,并且因而通过管理唯一号的URL以及利用条码阅读器读出与上述数字相关的印刷条码符号(下文中随时都称之为“条码”),以便提供更容易的使用。在上述装置中,然而,必须单独将条码阅读器连接到手机。
如果条码可以被装有照相机的手机内的内置照相机捕获的条码图像识别出来,而不使用单独的条码阅读器,则可以使用上述服务。
当前有一种技术可以利用二维图像检测装置检测作为二维图像数据的条码或二维代码,其中将图像数据暂时存储在图像数据存储器内,其被扫描以读出代码。然而,上述技术不能示出二维代码设置在图像内的什么地方。结果是,必须以预定间隔扫描全部图像数据或所有图像区域,这样导致时间增加。
为了解决上述问题,已经提出一种方法,即在图像内提取二维代码区域。
例如,专利文献1公开了不但在一个方向内扫描图像而且在相反方向内交替扫描图像,其中消除了扫描图像的全部宽度的需要并且可以减少所需的时间。此外,根据扫描期间像素值内检测到变化点,具有一宽度的行被检测,并且然后是L形被检测,其是二维代码的特征。以上述方式,二维代码存在的区域被缩小。
专利文献2公开了将图像数据分为均匀的小块,并且简短地扫描每一块从而计算块的复杂等级。此处复杂等级表示超过被检测的阈值的等级差的倍数。通常,二维代码存在概率较高的块具有较高的复杂等级。从上述观点看,按照复杂等级的降序扫描各个块就可以读出二维代码。
专利文献1:JP专利公开(特许)No.2000-293615A
专利文献2:JP专利公开(特许)No.2001-22881A
发明内容
上述传统的检测二维代码存在的区域的方法存在以下问题。
在专利文献1的方法中,因为L形的二维代码被检测,当它们包含几何形状如字母时,图像容易错误地被检测。此外,由于缺少形成实线的边,所以该方法不能与QR代码(二维条码)兼容。
在专利文献2的方法中,当图像包含除二维代码之外的符号、图案、纹理、或其他与数据单元相似的细微噪声时,复杂等级提高。因而,上述方法自身不能确定二维代码的存在。因为按照复杂等级的降序提取数据,噪声也可能按上述顺序被读出。结果是,没有获得时间的减少。
针对上面的问题,本发明的一个目的是提供一种二维代码区域提取方法,一种二维代码区域提取装置,一种电子装置,一种二维代码区域提取程序,以及记录上述程序的记录媒介,其中可以精确并且高速地读出图像数据内存在的二维代码,而不受噪声等的影响。
本发明提供一种用于提取存在有二维代码的区域的二维代码提取方法,该方法包括以下步骤:垂直和水平扫描包含二维代码的图像数据;确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;计算存在于被检测的空白部分之间的非空白部分的长度和其中心坐标;以及分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。优选地,该方法包括基于被引用为候选的区域的位置和尺寸计算相似区域数目的步骤从而确定候选区域的排序。
图像以规则的间隔(因为其是根据相机的性能,从包括二维代码的像素的最小数目计算出来的)被扫描,并且宽度不小于存在二维代码的预定宽度的空白部分(安静带)被检测。当越过存在二维代码的坐标扫描图像时,将利用上述事实检测两个空白部分。因为二维代码的特征是基本上为正方形,可以通过垂直和水平扫描图像并且考虑空白部分的位置和距离之间的关系来提取存在二维代码的区域。通过缩小图像内存在二维代码的区域,可以降低识别二维代码所需的时间。结果是,能精确并高速地执行读取而不受噪声或相似物的影响。此外,如果图像内存在多个二维代码,它们都可以有效地被读出。
优选地,检测二维代码候选区域的步骤包括检测多个二维代码候选区域、对其进行比较、并然后对其排序的步骤。
优选地,空白部分检测步骤包括检测存在于二维代码周围的空白部分的步骤。
扫描步骤可以包括以规则的间隔扫描图像数据的步骤。
在更优选的实施例中,规则的间隔是不大于由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半。
本发明还提供了一种二维代码区域提取装置,其包括:垂直和水平扫描包含二维代码的图像数据的扫描装置;确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分的空白部分检测装置,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标的非空白部分计算装置;以及分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域的二维代码候选区域提取装置。
优选地,该装置还包括比较由所述二维代码提取装置检测的多个二维代码候选区域、并然后对其排序的排序确定装置。
本发明还提供了一种能读出二维条码符号的电子装置,其包括前面所述的二维代码区域提取装置。
另一方面,本发明提供一种计算机程序,该程序执行以下步骤:
垂直和水平扫描包含二维代码的图像数据;
确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;
计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标;以及
分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
本发明还提供一种记录程序的计算机可读记录媒介,该程序导致计算机执行以下步骤:垂直和水平扫描包含二维代码的图像数据;确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标;以及分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
因而,根据本发明,当从暂时存储二维图像数据的图像数据存储器内提取存在有二维代码的区域时,可以有效并且精确地读出二维代码。
附图说明
图1示出了根据本发明实施例的二维代码区域提取装置和方法中的图像数据和扫描线之间的关系,
(1)到(3):步骤(S1)内的扫描线;(4):步骤(S3)内的扫描线;(5):步骤(S30)内的扫描线;Rx:在(1)内检测的空白部分计算出来的非空白部分(水平)的长度;Ry:在(4)内检测的空白部分计算出来的非空白部分(垂直)的长度;Rx′:在(5)内检测的空白部分计算出来的非空白部分(水平)的长度;Px:Rx的中心坐标;Py:Ry的中心坐标;以及Px′:Rx′的中心坐标;
图2示出了根据本发明实施例的二维代码区域提取装置的结构的方块图;
图3示出了根据本发明实施例的二维代码提取装置和方法的主程序过程的流程图;
图4示出了通过根据本发明实施例的二维代码区域提取装置和方法扫描的QR代码的例子;
图5示出了根据本发明实施例的二维代码区域提取装置和方法在水平方法内检测空白的程序过程的流程图;
图6示出了根据本发明实施例利用二维代码区域提取装置和方法检测二维代码候选区域的程序过程的流程图;
图7示出了通过根据本发明实施例通过二维代码区域提取装置和方法再比较二维代码候选区域的程序过程的流程图;
图8示出了根据本发明实施例的二维代码区域提取装置和方法二维代码候选区域的比较。
附图标记解释:
1 二维代码区域提取装置(电子装置)
10 控制单元
11 扫描单元(扫描装置)
12 空白检测单元(空白部分检测装置)
13 非空白信息计算单元(非空白部分计算装置)
14 比较单元(二维代码候选区域提取装置)
15 排序确定单元(排序确定装置)
16 存储单元
H 输入图像数据的高度
W 输入图像数据的宽度
包括二维代码候选区域1的1A、1B、1C、1D边
包括二维代码候选区域2的2A、2B、2C、2D边
具体实施方式
在下文中,将参考附图详细描述根据本发明的二维代码区域提取方法、二维代码区域提取装置、以及电子装置的实施例。
图1示出了根据本发明实施例的二维代码区域提取装置和方法中的图像数据和扫描线之间的关系。
尤其是,图1示出了通过用于提取图像数据上的二维代码区域的二维代码区域提取装置或方法执行的步骤和图像数据之间的位置关系。下面将参考图1描述本发明的实施例,其中图1示出了包括垂直H像素×水平W像素的图像数据。存在于图像数据上的二维代码是QR代码。
图2示出了一种二维代码区域提取装置的结构的方块图。可以将根据本实施例的二维代码区域提取装置和方法用于便携式通信终端如装有照相机的手机或PHS(个人手持电话系统)。
参考图2,一种二维代码区域提取装置1包括:用于整体控制装置的控制单元10;用于在垂直和水平方向内扫描包含2维代码的图像数据的扫描单元11(扫描装置);用于确定被扫描像素的白/黑等级从而检测至少两个空白部分的空白检测单元12(空白部分检测装置),其中空白部分中的每一个都由超过像素的预定数目的白色像素序列组成;用于计算非空白部分的长度和中心坐标的非空白信息计算单元13(非空白部分计算装置),其中非空白部分存在于两个被检测的空白部分之间;分别用于比较存在于垂直和水平方向内的非空白部分的长度和中心坐标的比较单元14(二维代码候选区域提取装置),从而确定二维代码的存在并检测二维代码候选区域;用于比较多个被检测的二维代码候选区域并对其进行排序的排序确定单元15(排序确定装置);以及包括图像数据存储器的存储单元16,在图像数据存储器内暂时存储二维图像数据以及被计算的数据。
扫描单元11垂直和水平扫描图像数据,如图1所示,从而基于等级值实现白色/黑色确定。扫描的范围和方向由随时控制扫描的控制单元确定。
空白检测单元12通过控制单元10确定扫描单元11扫描的像素是否构成空白部分,该空白部分的长度不小于预定长度。如果空白部分被检测,则相关的信息被记录在存储单元16内。
非空白信息计算单元13基于空白检测单元12检测的空白信息计算非空白部分的长度和其中心坐标。
比较单元14分别比较非空白部分的长度和位置并确定二维条码的存在,从而检测二维代码候选区域,其中上述非空白部分是通过控制单元10基于垂直和水平扫描检测到的空白信息计算出来的。
排序确定单元15比较多个由比较单元14检测的二维代码候选区域,并选择出最有可能存在二维代码的区域。
下文中,将描述执行二维代码区域提取方法的步骤。
图3示出了根据本发明实施例的二维代码提取装置和方法的主程序过程的流程图,其中“S”表示流程中的各个步骤。
在步骤S1内,在水平方向内以预定间隔D扫描图1中由图像捕获装置如照相机捕获的图像数据,从而检测其宽度不小于预定值的空白部分。二维代码总是包含宽度不小于预定宽度的空白部分,其也被称之为位于二维代码附近的安静带或边缘。在QR代码的情况下,空白部分必须包含四个或更多的单元。当越过QR代码扫描图像数据时,空白部分将在两端被检测,如图1(1)所示。因而,可以基于前面的条件粗略地将图像中什么也没写或被涂有单一颜色的部分与存在有二维代码的部分区别开来。
此处提到的间隔D被确定为是“不大于其中由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半”,从而可以快速并可靠地确定存在有QR代码的区域。即使当被检测目标的二维代码都相同时,可以接受图像数据的二维代码的图像尺寸或位置可以根据二维图像捕获装置的位置关系而变化。通常,当采用缩小光学系统时,被检测的二维代码的图像尺寸因为它与光学元件如聚焦透镜的距离增加而变得较小。然而,因为如果与焦距长度的偏移太大则将不能读出代码,可以接受图像数据的二维代码的最小可能尺寸由将要被合适测量的代码的条件确定。“不大于一半”是确保不管其尺寸如何二维代码能被经过至少两次,从而可以可靠地提取二维代码区域。当将间隔D设置为等于“其中由图像数据上的最小可能尺寸的二维代码组成的一个边的长度”时,如果图像包含一个小尺寸的二维代码以及多个更小尺寸的噪声区域,则在一行上检测的空白部分的数目将增加。结果是,很多噪声区域可能与二维代码混淆,除了将要被检测的二维代码区域以外,上述噪声区域也将作为候选者被指定。如果扫描位置通过图4所示的箭头表示(其中白色像素在被扫描的QR代码内连续),则垂直空白部分将不能被检测,上述垂直空白部分将在后面描述,从而将扫描形状确定为不是QR代码的形状并且作为候选被消除。
为了避免上述现象,根据本发明,将间隔D设置为“不大于其中由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半”,并且至少两个位置在二维代码存在的范围内被扫描。以上述方式,不管二维代码的尺寸大小如何都可以可靠并快速地检测出二维代码。在本例子中,每个单元包括两个像素,从而可以接收图像数据的QR代码的最小图像尺寸是40个像素。因为空白部分由四个或更多的单元组成,当12或更多个白色像素连续时可以利用由20个像素构成的间隔D检测空白部分。
下面将参考图5中的子程序描述在上述步骤S1内在水平方向检测空白部分的步骤。
重新回到图3的主程序,在步骤S1内完成了水平空白部分检测步骤后,执行步骤S2的过程以计算与来自于两个空白部分的非空白部分相关的信息,在上述两个空白部分之间被非空白部分占据。在该步骤中,基于所记录的与空白部分相关的信息(坐标位置、长度),如图1所示计算并记录非空白部分的长度Rx以及其中心坐标Px。该步骤也被用于在通过前面所述的步骤S1扫描的各个线上被检测的所有空白部分。并且在下面的步骤中也执行上述计算步骤,因为其在整个方法步骤中都不包括任何复杂的计算步骤,所以可以提高本发明的二维代码区域提取方法的速度。
接下来,在步骤S3内,利用与在步骤S2内计算的水平非空白部分相关的信息执行垂直扫描。如图1(4)所示垂直扫描由水平非空白部分中心的中心坐标Px,及长度Rx确定的某个区域,从而检测具有宽度不小于预定宽度的空白部分。垂直扫描的范围必须不小于水平空白部分的长度Rx以及作为其中心的中心坐标Px确定的范围,从检测在二维代码的两端都存在的两个空白部分的观察点对其增加D×2。然而,如上所述,如果扫描图4的箭头表示的位置,Rx将急剧减小,可能会使检测垂直空白部分成为不可能。因此,作为对策,将上述步骤S1内的过程中的间隔D设置为是“不大于由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半”,从而可以提取二维代码区域。此外,为了消除不能检测垂直空白部分的现象,稍微延伸垂直扫描的范围从而使检测垂直空白部分成为可能。
在执行完步骤S3的过程后,在步骤S4内确定空白部分是否已经被检测。如果具有某种宽度的两个或多个空白部分还没有被检测,则控制进行到步骤S7。如果上述空白部分都已经被检测,则控制进行到步骤S5。在步骤S5内,确定存在于两个空白部分之间的非空白部分的长度Ry和其中心坐标Py。然后,在步骤S6中,比较与分别由步骤S2和步骤S5计算出来的垂直和水平非空白部分相关的信息,从而检测二维代码候选区域。
将参考图6内所示的子程序描述在上述步骤S6中检测二维代码候选区域的步骤。
在步骤S7内,确定是否有其他的非空白部分(水平)。确切地讲,在步骤S7内,确定在步骤S2内计算的水平非空白部分中是否有未经过比较步骤的水平非空白部分。如果有非空白部分未经过比较步骤,则在步骤S8内选择这样的非空白部分,并且然后控制返回到步骤S3,然后从步骤S3重复上述步骤。如果没有空白部分未经过比较步骤,则在步骤S9内将作为二维代码候选的区域进行彼此比较。然后,选择出三个,例如最有可能存在二维代码的区域,并且本程序就结束了。
图5示出了根据本发明实施例的二维代码区域提取装置和方法在水平方向内检测空白的程序过程的流程图。本流程详细示出了图3的步骤S1内检测水平空白部分的步骤。
为了水平扫描输入图像数据并检测空白部分,在步骤S10使扫描位置初始对准从输入图像的顶部垂直偏移间隔D的位置。接下来,在步骤S11内水平扫描图像,并且逐个像素实现白色/黑色确定从而检测其宽度不小于预定宽度的空白部分。扫描位置因而被偏移了间隔D从而使二维代码可以至少越过两个点,即使该二维代码位于图像的边缘处,这是因为设置了间隔D。
此后,在步骤S12内确定两个或多个具有预定宽度的空白部分是否已经被检测。如果两个或多个具有预定宽度的空白部分还未被检测,则控制进行到步骤S14,其中使扫描位置沿垂直方向偏移间隔D(=20个像素)。如果上述空白部分已经被检测,则在步骤S13内记录空白部分的开始坐标值和其长度,并且然后执行步骤S14。
在步骤15,比较扫描位置和图像数据的垂直长度H。如果扫描位置超过了图像数据的垂直长度(扫描位置>垂直长度),则结束在水平方向内对空白部分的检测步骤,并且控制返回到图3主程序的步骤S1。如果扫描位置没有超过图像数据的垂直长度,则控制返回到步骤S11,并且重复上述步骤直到扫描位置超过图像数据的垂直长度。
图6示出了根据本发明实施例利用二维代码区域提取装置和方法检测二维代码候选区域的程序过程的流程图。该流程图详细示出了图3的步骤S6内的检测二维代码候选区域的步骤。
首先,在步骤S20内,比较水平和垂直非空白部分。比较项目是被选择的垂直和水平非空白部分的长度{Rx,Ry},以及中心坐标{Px,Py}的坐标位移。基于上述两个条件,确定二维代码的存在。因为二维代码基本上是正方形,当在二维代码的中心坐标处测量时,垂直和水平长度基本上相等。通过利用上述几何特征,如果非空白部分的长度Rx和Ry之间的差在特定范围内,并且如果两个中心坐标Px和Py之间的距离在特定范围内,则将由垂直和水平非空白部分构成的区域引用为候选区域(下文中称之为二维代码候选区域)。通过上述步骤,可以缩小二维代码区域而没有受到除了正方形的噪声区域之外的其他噪声区域的影响。
此处确定的上限范围是如下面描述的,即非空白部分的长度Rx和Ry之间的差不超过20%,并且两个中心坐标Px和Py之间的距离的差不超过间隔D的1/2(=10个像素)。非空白部分的长度差是基于利用图像捕获器拍摄二维代码时的经验规则,图像通常正常是直接从上述二维代码获得,从而使正方形二维代码的垂直长度与水平长度的比即使在图像数据上也没有大变化。此外,非空白部分的中心坐标之间的差基于以下事实,因为以间隔D执行扫描从而能检测空白部分,如果两个中心坐标之间的距离不小于间隔D的1/2,则二维代码存在于其他非空白部分的概率就高。
接下来,在步骤S21内确定是否可能存在二维代码。如果确定可能存在二维代码,则在步骤S22内记录该区域为二维代码候选区域,并且控制进行到步骤S24的确定步骤。如果在步骤S21内确定区域内不包括二维代码,则在步骤S23内执行再比较步骤,并且然后控制进行到步骤S24的确定步骤。后面将参考图7详细描述步骤S23内的再比较步骤。
在步骤S24内,确定在图3的步骤S5内计算的垂直非空白部分中是否有未经过比较步骤的非空白部分。如果有未经过比较步骤的非空白部分,则该非空白部分在步骤S25内被选择,并且控制返回到步骤S20,再重复上述步骤。如果没有未经过比较步骤的非空白部分,则比较步骤流程结束并且控制返回到图3主程序的步骤S6。
图7示出了根据本发明实施例通过二维代码区域提取装置和方法再比较二维代码候选区域的程序过程的流程图。该流程图详细示出了图6的步骤S23的再检测步骤。
如果在图6的步骤S21内确定候选区域不包含二维代码,则进入本程序,并且在步骤S30内在水平方向内扫描某特定区域,该区域是从与其比较的垂直非空白部分的Ry及中心坐标Py计算出来的。接下来,在步骤S31内,执行白色/黑色确定以确定是否检测具有宽度不小于预定宽度的非空白部分。在上述步骤S31内,确定具有宽度不小于预定宽度的两个或多个空白部分是否已经被检测。如果两个或多个上述空白部分还未被检测,判断在垂直非空白部分中是否有二维代码,并且当前的再比较步骤结束并且控制返回到图6的程序。
如果两个或多个空白部分已经被检测,在步骤S32内计算和记录非空白部分的长度Rx′和其中心坐标Px′。因为在图6的程序中,在步骤S33内分别将水平和垂直非空白部分的长度Ry和Rx′与其中心坐标Py和Px′进行比较。
在步骤S34内,确定上述区域是否是二维代码候选区域。如果确定上述区域是二维代码候选区域,则在步骤S35将该区域引用为二维代码候选区域,并且然后控制前进到步骤S36。另一方面,如果确定上述区域不是二维代码区域,则控制直接进行到步骤S36。
在步骤S36内,确定在计算的非空白部分中沿水平方向是否有未经过比较步骤的非空白部分。如果有未经过比较步骤的非空白部分,则在步骤S37内选择该非空白部分,并且控制返回到步骤S33再重复上述步骤。如果在步骤36中没有未经过比较步骤的非空白部分,则结束该比较步骤并且控制返回到图6的程序。
因而,根据本发明的扫描方法,当在水平方向扫描时(图3的步骤S1)图像内的二维代码至少被越过两次。在步骤(图3的S6)的步骤(图6的S20)中,在垂直和水平非空白部分上执行比较步骤。如果不满足存在二维代码的条件,则执行再比较步骤(图6的步骤S23和图7的程序),从而确保可靠地检测二维代码。因而,通过图1所示的每个扫描(1)和扫描(2)发现二维代码候选区域,从而得到如下结果,即检测出尺寸和位置相似的多个二维代码候选区域。因此,在一个步骤(图3的步骤S9)中,分别比较引用为二维代码候选区域的区域的尺寸和位置并且对被认为是相同的二维代码候选区域的数目进行计数。
图8示出了如何根据二维代码区域提取方法比较二维代码候选区域。
确切地讲,如图8所示,测量二维代码候选区域1的四边的坐标和二维代码候选区域2的四边的坐标之间的偏移。如果偏移在特定范围内,则该区域被认为是相同的,并且将相对于上述被比较区域的中间区域确定为二维代码候选区域,从而把两个二维代码候选区域放在一起。参考图8,在垂直位置比较1B和2B、及1D和2D,而比在水平位置较1A和2A、及1C和2C。此处将允许的偏移设置为是间隔D的1/2(=10个像素)内,原因与步骤(图6的S20)相同。以上述方式,具有最高计数数字的顶部三个二维代码候选区域最终被选择为二维代码区域,并且接下来完成图3的主程序。
通过上述步骤,可以高速并可靠地在图像数据上提取二维代码区域。如果在图像数据上包含噪声,该噪声可以通过下述步骤以混和的方式从候选区域中消除,即检测空白部分的步骤(图3的步骤S1)、检测二维代码候选区域的步骤(图3的步骤S6)、以及确定二维代码区域的步骤(图3的步骤S9),从而可以唯一提取二维代码。此外,如果图像中存在多个二维代码,都可以有效地读出它们。
因而,本发明的二维代码区域提取装置包括:垂直和水平扫描图像内包含的二维代码的扫描单元11;空白部分检测单元12,用于确定被扫描像素的白色/黑色等级并检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;非空白信息计算单元13,用于计算被检测空白部分之间的非空白部分的长度和其中心坐标;比较单元14,用于比较分别存在于垂直和水平方向的非空白部分的长度和中心坐标,从而确定二维代码的存在并检测二维代码候选区域;以及排序确定单元15,其对被检测的多个二维代码候选区域进行比较和排序。根据二维代码区域提取方法,基于二维代码的几何特征垂直和水平扫描包含二维代码的图像数据,并且然后确定被扫描像素的白色/黑色等级,从而检测出空白部分。此后,计算存在于被检测空白部分之间的非空白部分的长度和其中心坐标,并且分别比较存在于垂直和水平方向的非空白部分的长度和中心坐标。通过上述比较装置基于被作为候选的区域的位置和尺寸,计算相似区域的数目并对候选区域进行排序。以这种方式,可以缩小图像内的二维代码区域,从而可以缩短确认所需的时间并且,结果是,能精确并高速地执行读出而不受噪声和相似物的影响。如果图像内存在多个二维代码,它们都可以有效地被读出。
上面是本发明优选实施例的示范性描述。本发明的范围并不受上述
实施例的限制。
本发明不限于上面的实施例并且其各种变化和修改仍属于本发明的技术范围。这可以应用到各种应用。例如,虽然在前面的实施例中在步骤(图3的步骤S1)中从水平方向开始扫描图像,但也可以从垂直方向开始扫描从而使扫描方向反转。更通俗地说,只要两个非空白部分在比较步骤中互相垂直扫描方向并不是问题。此外,间隔D只要是“不大于由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半”,其可以更小。虽然这样可能导致处理速度的降低,但不影响处理二维代码区域提取装置对二维代码区域提取方法的操作精确性的能力。
本发明可以用于具有二维代码区域提取装置或方法的各种电子装置,从而在图像数据存储器内暂时存储二维代码图像数据,提取二维代码所存在的区域。例如,上述电子装置可以是装有照相机(内部或外部)的装置,如数码相机;装有相机的手机;便携信息终端如PDA(个人数字助理);或信息处理装置如个人计算机。作为目标读出的代码可以是任何类型。
在前面实施例的描述中,已经使用了术语“二维代码区域提取装置和方法”。这仅仅是为了方便,其也可以是其他术语,如二维条码显示装置和方法,信息读出设备、或二维代码提取方法。
根据前面的实施例图1和8中示出的扫描线显示器是一种例子并且也可以使用其他显示方法。
虽然是在检测空白部分时确定像素的白色/黑色等级,只要其能检测空白部分也可以使用其他任何方法。术语“白色/黑色”在此处只是为了方便,它不仅指字面意义的白色和黑色而且还表示由特定颜色或其基色是除了白色以外的任何颜色表示的符号。例如,在印刷品或液晶显示单元中上述符号被印刷或显示为彩色,符号本身有时通过除了白色和黑色之外的颜色表示。换句话说,虽然空白检测单元12确定被扫描像素的白色/黑色等级并且检测其中作为空白部分超过预定数目像素的像素连续存在的至少两部分,上述超过预定数目像素的像素连续存在的部分可以是除了白色的任何颜色(如黑色,将白色符号印刷在黑色背景上)。
二维代码区域提取装置的各个电路部分的类型和数目,如扫描单元和存储单元,或它们如何连接,都不限于前面的实施例。
上面描述的二维代码区域提取装置和方法可以通过操作或执行二维代码区域提取装置和方法的程序实现。该程序被存储在计算机可读记录媒介内。根据本发明,可以通过图2示出的控制单元10的主存储器来提供记录媒介。也可以通过任何其他程序媒介,如CD-ROM来提供,其可以在程序读出装置如CD-ROM驱动作为外部存储装置被插入或读出。在这种情况下,可以通过控制单元31内的CPU访问和运行上述存储的程序,或在运行的程序存储区域(未示出)内读出和下载。上述可下载的程序事先确保被存储在每个装置内。
前面描述的程序媒介可以是能从便携式终端装置或信息处理装置可拆卸的记录媒介。上述例子包括磁带;盒式磁带或其他磁盘;光盘如CD-ROM、CD-R/RW、MO、MD、DVD-ROM、DVD-RAM、以及DVD-RW;卡如PC卡、压缩闪存卡(注册商标)、智能卡(注册商标)、IC卡、SD卡(注册商标)、和存储棒(注册商标);以及半导体存储器如掩膜ROM、EPROM、EEPROM、和闪存ROM,上述程序以固定形式装载。
作为选择,媒介也可以以流动方式加载程序从而使该程序可以通过通信连接装置,如因特网连接器或服务终端从外部网络下载。当通过通信网络下载程序时,下载的程序可以被预先存储或可以从单独的记录媒介装载。记录媒介的存储内容不限于程序也可以是数据。
Claims (10)
1、一种用于提取存在二维代码的的区域的二维代码区域提取方法,包括以下步骤:
垂直和水平扫描包含二维代码的图像数据;
确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;
计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标;以及
分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
2、根据权利要求1所述的二维代码区域提取方法,其中检测二维代码候选区域的步骤包括检测多个二维代码候选区域、对其进行比较、然后对其排序的步骤。
3、根据权利要求1所述的二维代码区域提取方法,其中空白部分检测步骤包括检测存在于二维代码周围的空白部分的步骤。
4、根据权利要求1所述的二维代码区域提取方法,其中扫描步骤包括以规则间隔扫描图像数据的步骤。
5、根据权利要求4所述的二维代码区域提取方法,其中规则间隔是不大于由图像数据上的最小可能尺寸的二维代码组成的一边长度的一半。
6、一种二维代码区域提取装置,其包括:
垂直和水平扫描包含二维代码的图像数据的扫描装置;
确定被扫描像素的白色/黑色等级并且检测至少两个空白部分的空白部分检测装置,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;
计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标的非空白部分计算装置;以及
二维代码候选区域提取装置,其分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
7、根据权利要求6所述的二维代码区域提取装置,还包括排序确定装置,其比较由所述二维代码候选区域提取装置检测的多个二维代码候选区域,然后对其排序。
8、一种读出二维条码符号的电子装置,其包括根据权利要求6或7的二维代码区域提取装置。
9、一种计算机程序,其执行以下步骤:
垂直和水平扫描包含二维代码的图像数据;
确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;
计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标;以及
分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
10、一种记录程序的计算机可读记录媒介,所述计算机程序执行以下步骤:
垂直和水平扫描包含二维代码的图像数据;
确定被扫描像素的白色/黑色等级,并且检测至少两个空白部分,其中每一个空白部分都由超过像素的预定数目的白色像素序列组成;
计算存在于被检测的空白部分之间的非空白部分的长度和中心坐标;以及
分别将存在于垂直方向和水平方向的非空白部分的长度和其中心坐标进行比较从而确定二维代码的存在,并且检测二维代码候选区域。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004061230 | 2004-03-04 | ||
JP061230/2004 | 2004-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1950828A true CN1950828A (zh) | 2007-04-18 |
CN100452077C CN100452077C (zh) | 2009-01-14 |
Family
ID=34918048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800135421A Expired - Fee Related CN100452077C (zh) | 2004-03-04 | 2005-02-24 | 二维代码区域提取方法及其提取装置和电子装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070140564A1 (zh) |
EP (1) | EP1727070A4 (zh) |
JP (1) | JP4415010B2 (zh) |
CN (1) | CN100452077C (zh) |
WO (1) | WO2005086074A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542272A (zh) * | 2010-09-17 | 2012-07-04 | 卡西欧计算机株式会社 | 信息读取装置 |
CN104463292A (zh) * | 2013-09-16 | 2015-03-25 | 深圳市同盛绿色科技有限公司 | 光学识别方法及移动设备 |
CN107016388A (zh) * | 2017-03-02 | 2017-08-04 | 浙江华睿科技有限公司 | 一种一维码区域的定位方法及装置 |
CN107862230A (zh) * | 2017-11-14 | 2018-03-30 | 安徽虚境科技有限公司 | 一种等级决定及录入方法 |
CN108073849A (zh) * | 2016-11-18 | 2018-05-25 | 杭州海康威视数字技术股份有限公司 | 条码检测方法、装置及系统 |
CN111386533A (zh) * | 2017-11-14 | 2020-07-07 | 讯宝科技有限责任公司 | 使用对称定位的空白区域检测和识别图像数据中图形字符表示的方法和装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831428B (zh) * | 2012-06-30 | 2015-07-08 | 东南大学 | 图像内快速响应矩阵码区域的提取方法 |
EP3031748A1 (de) * | 2014-12-11 | 2016-06-15 | Qbo Coffee GmbH | Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifizieren einer Getränkekapsel |
EP3031750A1 (de) * | 2014-12-11 | 2016-06-15 | Qbo Coffee GmbH | Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifzieren einer Getränkekapsel |
EP3031749A1 (de) * | 2014-12-11 | 2016-06-15 | Qbo Coffee GmbH | Getränkekapsel, Getränkezubereitungssystem und Verfahren zum Identifizieren einer Getränkekapsel |
CN111767751B (zh) * | 2019-10-10 | 2024-04-12 | 北京京东乾石科技有限公司 | 二维码图像识别方法和装置 |
CN113283262A (zh) * | 2020-12-29 | 2021-08-20 | 深圳怡化电脑股份有限公司 | 一种二维码定位方法、装置、电子设备、机器可读介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5484990A (en) * | 1993-12-15 | 1996-01-16 | Ncr Corporation Information Solutions Company | Multiple depth of field laser optical scanner |
JP2867904B2 (ja) * | 1994-12-26 | 1999-03-10 | 株式会社デンソー | 2次元コード読取装置 |
US5969325A (en) * | 1996-06-03 | 1999-10-19 | Accu-Sort Systems, Inc. | High speed image acquisition system and method of processing and decoding barcode symbol |
JPH1091717A (ja) * | 1996-09-18 | 1998-04-10 | Toshiba Corp | バーコード認識装置 |
JP3814988B2 (ja) * | 1997-10-27 | 2006-08-30 | 株式会社デンソー | 2次元コード読取装置 |
JP2000222517A (ja) * | 1998-11-27 | 2000-08-11 | Denso Corp | 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体 |
JP3711775B2 (ja) * | 1998-12-22 | 2005-11-02 | カシオ計算機株式会社 | バーコード読取装置およびそのプログラム記録媒体 |
JP2000235617A (ja) * | 1999-02-17 | 2000-08-29 | Olympus Optical Co Ltd | データ読取装置 |
JP4055290B2 (ja) * | 1999-04-07 | 2008-03-05 | 株式会社デンソー | 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 |
JP3508836B2 (ja) * | 1999-06-22 | 2004-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 2次元コードの概略位置検出装置及び検出方法 |
CN1307311A (zh) * | 2000-02-02 | 2001-08-08 | 北京科瑞奇技术开发有限公司 | 便携式智能防伪二维条码磁条卡型身份证件识别器 |
JP2004054529A (ja) * | 2002-07-18 | 2004-02-19 | Sharp Corp | 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置 |
CN1184582C (zh) * | 2003-03-25 | 2005-01-12 | 西安理工大学 | 基于通用办公设备的二维条码自动识读方法 |
-
2005
- 2005-02-24 EP EP05710635A patent/EP1727070A4/en not_active Withdrawn
- 2005-02-24 JP JP2006510645A patent/JP4415010B2/ja not_active Expired - Fee Related
- 2005-02-24 US US10/591,324 patent/US20070140564A1/en not_active Abandoned
- 2005-02-24 CN CNB2005800135421A patent/CN100452077C/zh not_active Expired - Fee Related
- 2005-02-24 WO PCT/JP2005/002984 patent/WO2005086074A1/ja active Application Filing
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542272A (zh) * | 2010-09-17 | 2012-07-04 | 卡西欧计算机株式会社 | 信息读取装置 |
CN102542272B (zh) * | 2010-09-17 | 2015-05-20 | 卡西欧计算机株式会社 | 信息读取装置 |
CN104463292A (zh) * | 2013-09-16 | 2015-03-25 | 深圳市同盛绿色科技有限公司 | 光学识别方法及移动设备 |
CN104463292B (zh) * | 2013-09-16 | 2018-01-09 | 深圳市同盛绿色科技有限公司 | 光学识别方法及移动设备 |
CN108073849A (zh) * | 2016-11-18 | 2018-05-25 | 杭州海康威视数字技术股份有限公司 | 条码检测方法、装置及系统 |
CN108073849B (zh) * | 2016-11-18 | 2021-04-30 | 杭州海康威视数字技术股份有限公司 | 条码检测方法、装置及系统 |
CN107016388A (zh) * | 2017-03-02 | 2017-08-04 | 浙江华睿科技有限公司 | 一种一维码区域的定位方法及装置 |
CN107016388B (zh) * | 2017-03-02 | 2019-11-15 | 浙江华睿科技有限公司 | 一种一维码区域的定位方法及装置 |
CN107862230A (zh) * | 2017-11-14 | 2018-03-30 | 安徽虚境科技有限公司 | 一种等级决定及录入方法 |
CN111386533A (zh) * | 2017-11-14 | 2020-07-07 | 讯宝科技有限责任公司 | 使用对称定位的空白区域检测和识别图像数据中图形字符表示的方法和装置 |
CN111386533B (zh) * | 2017-11-14 | 2023-09-05 | 讯宝科技有限责任公司 | 使用对称定位的空白区域检测和识别图像数据中图形字符表示的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100452077C (zh) | 2009-01-14 |
EP1727070A4 (en) | 2008-03-19 |
EP1727070A1 (en) | 2006-11-29 |
JPWO2005086074A1 (ja) | 2008-01-24 |
US20070140564A1 (en) | 2007-06-21 |
WO2005086074A1 (ja) | 2005-09-15 |
JP4415010B2 (ja) | 2010-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1950828A (zh) | 二维代码区域提取方法,二维代码区域提取装置、电子装置,二维代码区域提取程序,以及包含该程序的记录媒介 | |
US20220012447A1 (en) | Systems and methods for decoding two-dimensional matrix symbols with incomplete or absent fixed patterns | |
CN101155238B (zh) | 图像区域检测方法及其装置 | |
TWI528293B (zh) | QR code | |
US6685095B2 (en) | Apparatus and method for decoding damaged optical codes | |
US8534567B2 (en) | Method and system for creating and using barcodes | |
CN1111818C (zh) | 二维代码识别的器件和方法 | |
US8254683B2 (en) | Code image processing method | |
CN102034073B (zh) | 条形码辨识方法及条形码辨识装置 | |
US7562820B2 (en) | Barcode recognition apparatus | |
TWI413937B (zh) | 影像辨識方法與裝置 | |
CN109993019A (zh) | 基于连通域分析的二维码识别方法、系统及设备和介质 | |
JP2010170539A5 (zh) | ||
CN102034072A (zh) | 条形码图像辨识方法 | |
KR20170005006A (ko) | 이차원 코드, 이차원 코드의 해석 시스템 | |
CN1042981C (zh) | 符号信息读取装置 | |
US20220188534A1 (en) | Symbol evaluation device and evaluation method | |
JP2008269121A (ja) | 電子機器、2次元コード認識方法、プログラム及び2次元コード | |
CN101840501B (zh) | 一种条码图像的解码方法及装置 | |
CN1075810A (zh) | 条形码记号读取装置 | |
JP2003187180A (ja) | バーコード読取装置 | |
CN201927037U (zh) | 一种条码图像的解码装置 | |
CN103034834A (zh) | 条码检测方法及装置 | |
JP5487424B2 (ja) | 2値化画像への情報埋め込み方法及び読み出し方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 Termination date: 20140224 |