代码读取装置和代码读取用程序的制作方法

文档序号:10540883阅读:166来源:国知局
代码读取装置和代码读取用程序的制作方法
【专利摘要】本发明的代码读取装置具备区域提取部(2)和区域结合部(4),区域提取部(2)将条形码的拍摄图像分割为多个水平区域,并从各个水平区域中分别提取出可读取的区域,区域结合部(4)通过将提取出的多个区域加以结合从而复原整个条形码;即使在条形码的一部分中存在不可读取的部位,也能够通过局部地提取出多个可读取的区域并将这些区域加以结合,从而复原能够整体读取的条形码,由此,即使是一部分中存在污渍、或者照明光的映射的条形码,也能够准确地进行读取。
【专利说明】
代码读取装置和代码读取用程序
技术领域
[0001]本发明涉及代码读取装置和代码读取用程序,尤其适用于从拍摄到的图像中读取条形码的代码读取装置中。
【背景技术】
[0002]目前,根据由预先规定的白线和各种粗细的黑线组合而成的条纹来表示各种信息的条形码、或者将多个点(dot)纵横排列从而能够表示更多信息的二维码,由于其容易读取和识别代码,因而被利用于广泛领域中。
[0003]例如,上述条形码或二维码(以下,将它们简单地统称为“代码”)贴在商品包装等上,从而用于在流通过程中识别商品。该情况下,通过专用的代码读取器或照相机等读取代码,并将其解码为由数值或文字组成的信息。另外,最近还提供了一种技术,其将代码显示在便携式电话机或智能手机等移动终端的屏幕上,利用专用的代码读取器读取该代码并进行解码。
[0004]但是,在利用照相机读取贴在商品包装等上的代码的情况下,当代码本身上附着有污渍、或者在利用照相机拍摄的图像的代码上产生照明光的映射(反射像)时,存在无法准确读取代码这一问题。
[0005]另外,在读取显示于移动终端的显示屏上的代码的情况下,当显示屏破损或存在污渍、或者因为从代码读取器发射出的照明光的入射角度而使显示屏局部产生镜面反射时,存在无法准确读取代码这一问题。
[0006]鉴于后者那样的问题,提出了一种即使在移动终端的屏幕上产生镜面反射、或者屏幕破损或附着有污渍等时,也能够准确地解码显示在屏幕上的QR码(QR Code、注册商标。下同)的技术(例如参照专利文献I)。在该专利文献I所公开的技术中,将同一 QR码的图像隔开时间间隔多次显示在屏幕上,并且以每次相互旋转90度的状态显示该多次显示的图像。由此,即使QR码的一部分中存在不可读取的部位,第一次显示QR码时无法读取的部分也可以在第二次及其之后的显示中进行读取。
[0007]另外,在该专利文献I中还公开了下述内容,S卩:将一个QR码分割为多个,并将该分割后的各个代码的图像隔开时间间隔依次显示在屏幕上。该情况下,通过利用代码读取器读取分割后的各个代码并进行解码,并将从各个代码解码出的多个数据加以合成,从而生成原来的QR码的解码数据。
[0008]专利文献1:日本公报、特开2004-54581号

【发明内容】

[0009]在上述专利文献I所公开的技术中,能够解决显示于移动终端的屏幕上的代码的一部分因为屏幕上的污渍或镜面反射等而无法读取时的问题。但是,无法解决利用照相机拍摄的图像内的代码因为贴在商品包装等上的代码本身存在污渍、或者在拍摄图像上产生照明光的映射等原因而无法读取时的问题。
[0010]本发明是为了解决上述问题而完成的,其目的在于:即使在贴在商品包装等上的代码本身附着有污渍、或者在拍摄图像内的代码上产生照明光的映射时,也能够准确地读取代码。
[0011]为了解决上述课题,在本发明中,通过将条形码的拍摄图像分割为多个水平区域,从各个水平区域中分别提取出可读取的区域,并将提取出的多个区域加以结合,从而复原整个条形码。
[0012]根据如上构成的本发明,即使因为贴在商品包装等上的代码本身附着有污渍、或者在拍摄图像内的代码上产生照明光的映射而在条形码的一部分中产生无法读取的部位,也能够通过提取出多个可读取区域中的一部分区域并将这些区域加以结合,从而复原出能够整体读取的条形码。由此,即使是一部分中存在污渍或者照明光的映射的条形码,也能够准确地进行读取。
【附图说明】
[0013]图1是表示本实施方式涉及的代码读取装置的功能构成例的框图。
[0014]图2是用于说明本实施方式涉及的区域提取部的动作的图。
[0015]图3是用于说明本实施方式涉及的区域选择部的动作的图。
[0016]图4是用于说明本实施方式涉及的区域选择部的动作的图。
[0017]图5是用于说明本实施方式涉及的区域结合部的动作的图。
[0018](符号说明)
[0019]I 图像输入部 2 区域提取部
[0020]3 区域选择部 4 区域结合部
[0021]5 解码部10代码读取装置
【具体实施方式】
[0022]以下,根据附图对本发明的一实施方式进行说明。图1是表示本实施方式涉及的代码读取装置的功能构成例的框图。本实施方式的代码读取装置10是安装在例如智能手机或平板电脑等移动终端中的装置,其功能构成包括图像输入部1、区域提取部2、区域选择部3、区域结合部4以及解码部5。
[0023]上述各功能块I?5能够由硬件、DSP(Digital Signal Processor、数字信号处理器)、软件中的任意一种构成。例如,在由软件构成的情况下,上述各功能块I?5的构成实际上包括计算机的CPU(Central Processing Unit、中央处理器)、RAM(Random_AccessMemory、随机存取存储器)、R0M(Read_0nly Memory、只读存储器)等,并且通过存储在RAM或R0M、硬盘或者半导体存储器等记录介质中的代码读取用程序执行动作而实现。
[0024]图像输入部I用于输入利用移动终端所具备的照相机15拍摄的条形码的图像。例如,当用户利用照相机15拍摄贴在商品包装上的条形码时,图像输入部I将该拍摄图像从照相机15输入代码读取装置10中。
[0025]区域提取部2将由图像输入部I输入的条形码的拍摄图像分割为多个水平区域,并从各个水平区域中分别提取出可读取的区域。图2是用于说明该区域提取部2的动作的图,其中,图2中的(a)中示出贴在商品包装上的条形码的拍摄图像,且示出在条形码上附着有污渍20的状态。
[0026]图2中的(b)中示出将附着有污渍20的条形码的拍摄图像三等分为三个水平区域
21、22、23后的状态,图2中的(c)中示出从各个水平区域21、22、23中分别提取出可读取的区域24?28的状态。
[0027]所谓的“可读取的区域24?28”是指例如在整条黑线和白线上完全未附着有污渍20的区域。当条形码上附着有污渍20时,该污渍20的部分呈既不是黑色也不是白色的中间色。因此,区域提取部2提取出整条黑线和白线上不含中间色的区域作为可读取的区域24?
28 ο
[0028]另外,在条形码中,通常规定有能够作为白线使用的最大宽度。因此,区域提取部2判断白色区域的宽度是否超过白线的最大宽度,当白色区域的宽度超过了白线的最大宽度时,则在该位置处截断区域。即,在正中间的水平区域22中,截断区域并且提取出两个可读取的区域25、26,在最下方的水平区域23中,截断区域并且也提取出两个可读取的区域27、
28 ο
[0029]区域选择部3从由区域提取部2提取的多个可读取的区域24?28中选择适于利用区域结合部4进行结合的区域。图3是用于说明该区域选择部3的动作的图。所谓的“适于结合的区域”是指:在通过区域结合部4进行结合时能够复原整个原来的条形码所需最小限度的区域。
[0030]具体而言,区域选择部3至少选择包含条形码左端的第一区域24和包含条形码右端的第二区域28。当包含左端的区域存在多个时,选择其中的横向宽度最大的区域。即,从包含左端的三个可读取的区域24、25、27中选择横向宽度最大的区域24。同样地,当包含右端的区域存在多个时,选择其中的横向宽度最大的区域。即,从包含右端的两个可读取的区域26、28中选择横向宽度最大的区域28。
[0031]区域选择部3判断如上所述提取出的第一区域24与第二区域28之间是否存在重复区域。当存在重复区域时,区域选择部3将不再选择其他区域。图3的情况与此相符,因而区域选择部3所选择的区域只有第一区域24和第二区域28。
[0032]另一方面,如图4所示,当包含条形码左端的第一区域31与包含条形码右端的第二区域32之间不存在重复区域时,区域选择部3进而选择一个以上的第三区域33,该第三区域33是指位于将第一区域31与第二区域32之间加以连接的中间位置处的区域。此时所选择的第三区域33优选为如图4中的(a)所示,与第一区域31之间存在重复区域且与第二区域32之间也存在重复区域的区域,这是因为:此时只要选择最小限度的一个第三区域33即可。
[0033]但是,当不存在与第一区域31和第二区域32这两个区域都重复的区域时,如图4中的(b)所示,选择至少与第一区域31之间存在重复区域的第三区域33-1、和至少与第二区域32之间存在重复区域的第三区域33-2。另外,为了能够如上所述选择多个第三区域33,水平区域的分割数必须为四个以上。
[0034]优选如图4中的(b)所示所选择的两个第三区域33—^33—2之间存在相互重复的区域,这是因为:此时只要选择两个第三区域33—^33—2即可。另外,当两个第三区域33—1、33—2之间也不存在重复区域时,区域选择部3进而选择位于将第三区域33-^33-2之间加以连接的中间位置处的其他第三区域。
[0035]区域结合部4通过将由区域选择部3选择的区域加以结合,从而复原整个条形码。具体而言,区域结合部4边使多个区域的位置移动边使区域内的线段结合,并且采用多个区域内的线段的吻合度最高的位置处的结合状态。
[0036]图5是用于说明该区域结合部4的动作的图。图5中的(a)?(C)中代表性地示出使区域选择部3所选择的第一区域24与第二区域28之间的位置关系以每次移动一个点(dot)的方式沿水平方向移动时的三个状态。其中,图5中的(b)中示出位于第一区域24内的黑线与位于第二区域28内的黑线的吻合度最高时的状态。
[0037]该情况下,区域结合部4采用呈图5中的(b)所示的位置关系时的结合状态,将位于第一区域24内的黑线与位于第二区域28内的黑线加以结合。具体而言,以相互吻合的线段(重复区域的线段)彼此重合为一个线段的方式,将第一区域24的图像与第二区域28的图像加以合成,其合成结果如图5中的(d)所示。
[0038]另外,当如图4所示选择了三个以上的区域时,通过在相互具有重复区域的两个区域之间进行上述处理,从而复原整个条形码。例如,当如图4中的(a)所示选择了三个区域31?33时,在第一区域31与第三区域33之间进行线段的结合,并且在第二区域32与第三区域33之间进行线段的结合。
[0039]解码部5对通过区域结合部4复原的条形码进行解码,并且将由此得到的数列(numerical sequence)或字符串等信息输出。如图5中的(d)所示,通过区域结合部4复原的条形码的垂直方向上的长度(黑线和白线的长度)相比原来的条形码变短。但是,水平方向上的条纹被完全复原。由于条形码是根据水平方向的条纹进行读取,因此,即使如图5中的
(d)所示垂直方向上的长度变短,也能够准确地进行解码。
[0040]如以上详细说明,在本实施方式中,将条形码的拍摄图像分割为多个水平区域21?23,并从各个水平区域21?23中分别提取出可读取的区域24?28,进而选择适于结合的区域24、28。然后,通过将所选择的区域24和区域28加以结合,从而复原整个条形码。
[0041]根据如此构成的本实施方式,即使如图2中的(a)所示贴在商品包装等上的条形码本身附着有污迹20,从而在条形码的一部分中形成无法读取的部位时,也能够生成如图5中的(d)所示能够整体读取的条形码的图像。由此,即使是一部分中存在污渍20的条形码,也能够准确地进行读取。同样地,即使在拍摄图像内的条形码上产生照明光的映射,也能够准确地进行读取。
[0042]另外,在上述实施方式中,对于从多个可读取的区域24?28中选择适于结合的区域24、28,并将该选择的区域24和区域28加以结合的例子进行了说明,但是,本发明并不限定于此。
[0043]例如,也可以通过将由区域提取部2提取出的多个区域24?28加以结合,从而复原整个条形码。但是,从能够减少结合时的处理负荷这一点来看,优选对于结合的区域加以选择。
[0044]另外,在上述实施方式中,对于将条形码三等分为三个水平区域21?23的例子进行了说明,但是,该分割数仅为一个示例。由于分割数越多则越容易使适于利用区域结合部4进行结合的区域变长,因而也可以分割为多于三个的水平区域。
[0045]另外,也可以按照下述方式逐渐增加水平区域的分割数,直到通过区域选择部3选择的区域变为两个以下为止,该方式是指:先分割为两个水平区域,当通过区域选择部3从各个水平区域内选择的区域并非两个以下时,将分割数增加为三个,然后,当通过区域选择部3从三个水平区域内选择的区域并非两个以下时,进一步将分割数增加为四个。
[0046]当如此构成时,由于区域结合部4始终只要将两个以下的区域加以结合即可(通过区域选择部3选择的区域仅有一个时,无需进行结合),因而能够减少结合时的处理负荷。另夕卜,也可以将是否增加水平区域的分割数的判断标准设为:通过区域选择部3选择的区域是否为三个以下。
[0047]另外,也可以按照下述方式逐渐增加水平区域的分割数,直到通过区域提取部2提取出包含条形码左端的区域和包含条形码右端的区域这两个区域为止,该方式是指:先分割为两个水平区域,当通过区域提取部2从各个水平区域中提取的可读取区域中均不包含条形码的左端或右端时,将分割数增加为三个,然后,当即便将水平区域的分割数增加为三个,通过区域提取部2也未提取出包含条形码左端的区域或者包含条形码右端的区域时,进一步将分割数增加为四个。
[0048]另外,在上述实施方式中,对于区域提取部2提取出整条黑线和白线上完全不含中间色的区域作为可读取的区域24?28的例子进行了说明,但是,本发明并不限定于此。
[0049]例如,也可以构成为:所提取的可读取的区域中还包括全长中的一部分附着有污渍20但黑线的至少一部分呈无污渍20的状态的区域。但是,该情况下,在提取出可读取的区域后进行除去污渍20的处理。
[0050]污渍20的除去处理例如可以通过下述方式进行。即,沿着垂直方向(黑线或白线的长度方向)以在水平方向上每次扫描一个点的方式对含有中间色的区域进行扫描,并判断列内所包含的是黑色或白色中哪一种颜色的点,由此逐列判断是在黑线或白线中哪一种线上附着有污渍20。然后,对于黑线上附着有污渍20的列,将污渍20的中间色替换为黑色。另一方面,对于白线上附着有污渍20的列,将污渍20的中间色替换为白色。
[0051]由此,通过区域提取部2提取出的可读取区域的水平方向上的长度变长,从而能够尽可能地减少通过区域选择部3选择的区域的数量。由此,能够减少通过区域结合部4结合线段时的处理负荷。另外,在区域提取部2提取可读取的区域时,也能够容易地提取出包含条形码的左端或右端的区域。
[0052]此外,上述实施方式均仅仅表示实施本发明时的具体化的一例,并不能据此限定性地解释本发明的技术范围。即,本发明只要不脱离其要旨或其主要特征便能够以各种方式实施。
【主权项】
1.一种代码读取装置,其特征在于,具备: 区域提取部,其将条形码的拍摄图像分割为多个水平区域,并从各个水平区域中分别提取出可读取的区域, 区域结合部,其通过将由所述区域提取部提取出的多个区域加以结合,从而复原整个所述条形码,以及 解码部,其对于通过所述区域结合部复原的所述条形码进行解码。2.如权利要求1所述的代码读取装置,其特征在于, 所述代码读取装置还具备区域选择部,所述区域选择部从通过所述区域提取部提取出的多个区域中,选择适于利用所述区域结合部进行结合的区域, 所述区域结合部通过将由所述区域选择部选择的区域加以结合,从而复原整个所述条形码。3.如权利要求2所述的代码读取装置,其特征在于, 所述区域选择部至少选择包含所述条形码的左端的第一区域和包含所述条形码的右端的第二区域,并且,当所述第一区域与所述第二区域之间不存在重复区域时,所述区域选择部进一步选择一个以上的第三区域,其中,所述第三区域是指位于将所述第一区域与所述第二区域之间加以连接的中间位置处的区域。4.如权利要求1?3中任一项所述的代码读取装置,其特征在于, 所述区域结合部边使多个所述区域的位置移动边使区域内的线段结合,并且采用多个所述区域内的线段的吻合度最高的位置处的结合状态。5.一种代码读取用程序,其特征在于, 所述代码读取用程序用于使计算机作为区域提取部、区域结合部以及解码部而发挥作用,其中, 所述区域提取部将条形码的拍摄图像分割为多个水平区域,并从各个水平区域中分别提取出可读取的区域, 所述区域结合部通过将由所述区域提取部提取出的多个区域加以结合,从而复原整个所述条形码, 所述解码部对于通过所述区域结合部复原的所述条形码进行解码。6.如权利要求5所述的代码读取用程序,其特征在于, 进而具备区域选择部,所述区域选择部从通过所述区域提取部提取出的多个区域中选择适于利用所述区域结合部进行结合的区域, 所述区域结合部通过将由所述区域选择部选择的区域加以结合,从而复原整个所述条形码。
【文档编号】G06K7/14GK105900111SQ201480021863
【公开日】2016年8月24日
【申请日】2014年10月10日
【发明人】岛泽甲, 中山健太
【申请人】文雅科番株式会社, 文雅科一番株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1