CN107016388B - 一种一维码区域的定位方法及装置 - Google Patents

一种一维码区域的定位方法及装置 Download PDF

Info

Publication number
CN107016388B
CN107016388B CN201710119704.4A CN201710119704A CN107016388B CN 107016388 B CN107016388 B CN 107016388B CN 201710119704 A CN201710119704 A CN 201710119704A CN 107016388 B CN107016388 B CN 107016388B
Authority
CN
China
Prior art keywords
candidate region
scan line
boundary point
score value
value
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
Application number
CN201710119704.4A
Other languages
English (en)
Other versions
CN107016388A (zh
Inventor
谢世斌
周璐
马诗洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Huaray Technology Co Ltd
Original Assignee
Zhejiang Huaray Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Huaray Technology Co Ltd filed Critical Zhejiang Huaray Technology Co Ltd
Priority to CN201710119704.4A priority Critical patent/CN107016388B/zh
Publication of CN107016388A publication Critical patent/CN107016388A/zh
Application granted granted Critical
Publication of CN107016388B publication Critical patent/CN107016388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • G06V10/473Contour-based spatial representations, e.g. vector-coding using gradient analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种一维码区域的定位方法及装置,所述方法包括:在候选区域上,确定设定数量的扫描线;根据扫描线上每个边界点的属性信息,确定每个候选区域的分值,进而确定每个候选区域的置信分值;按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域。由于在本发明实施例中,根据边界点的属性信息,确定每个候选区域的分值,进而确定每个候选区域的置信分值,根据预先设定的数量,选取置信分数高的所述数量的候选区域作为进行一维码定位的区域,不会将真正的一维码区域遗漏,使得定位一维码区域更加准确。

Description

一种一维码区域的定位方法及装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种一维码区域的定位方法及装置。
背景技术
随着科学技术的快速发展,一维码的出现方便了用户的生活,一维码广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域,用户可以通过电子设备获取包含所述一维码在内的图像,电子设备在图像中定位一维码区域,对该一维码进行解码,获取一维码对应的物品信息。因此,准确的在图像中定位一维码区域,在一维码的应用过程中至关重要。
现有技术在图像中定位一维码区域时,根据一维码的边缘、直线、梯度等特征确定多个一维码候选区域,在确定多个一维码候选区域后,在每个候选区域上提取至少一个过滤特征,针对每个过滤特征设定一个合适的阈值,根据设定的阈值,过滤非码区域,保留一维码区域。
现有技术进行一维码区域定位时,根据设定的阈值确定一维码区域,但由于实际应用场景复杂多变,采用一个固定的阈值无法适用于不同的应用场景,而根据特定的场景进行阈值设定,因为无法得知场景与阈值的对应关系,导致确定的阈值也不一定准确,此方法有可能将真正的一维码区域过滤,导致一维码区域定位准确率低。
发明内容
本发明实施例提供了一种一维码区域的定位方法及装置,用以解决一维码区域定位准确率低的问题。
本发明实施例提供了一种一维码区域的定位方法,该方法包括;在一维码的每个候选区域上,确定设定数量的扫描线;
针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;
按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域。
进一步地,如果所述边界点的属性信息包括边界点的数量,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括:
针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
进一步地,如果所述边界点的属性信息包括边界点的位置,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于设定的阈值时对应的第二分值大;
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
进一步地,确定所述每相邻三条扫描线上的平均位置点的共线性包括:
确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫面线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或
确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
进一步地,如果所述边界点的属性信息包括边界点的像素值,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
另一方面,本发明实施例提供了一种一维码区域的定位装置,所述装置包括:
第一确定模块,用于在一维码的每个候选区域上,确定设定数量的扫描线;
第二确定模块,用于针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;
排序定位模块,用于按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域。
进一步地,所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的数量,针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
进一步地,所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的位置,采用以下至少一种确定每个候选区域的分值:针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于设定的阈值时对应的第二分值大;针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
进一步地,所述第二确定模块,具体用于确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫面线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
进一步地,所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的像素值,针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和/或针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
本发明实施例提供了一种一维码区域的定位方法及装置,所述方法包括:在一维码的每个候选区域上,确定设定数量的扫描线;针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为进行一维码定位的区域。由于在本发明实施例中,针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,进而确定每个候选区域的置信分值,按照置信分值的高低对候选区域进行排序,排位在前的候选区域更可能是一维码区域,并且,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为进行一维码定位的区域,不会将真正的一维码区域遗漏,使得定位一维码区域更加准确。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种一维码区域的定位过程示意图;
图2为本发明实施例提供的一种一维码区域的定位装置结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种一维码区域的定位过程示意图,该过程包括以下步骤:
S101:在一维码的每个候选区域上,确定设定数量的扫描线。
本发明实施例提供的一维码区域的定位方法应用于电子设备。所述电子设备可以是手持式条码阅读器、固定式条码阅读器等条码阅读设备,也可以是具有条码解码功能的PC、智能电视、相机手机、平板电脑等终端设备。
所述电子设备可以根据一维码的边缘、直线、梯度等特征,在图像中确定出多个一维码候选区域,其中,所述多个一维码候选区域中包含了真正的一维码区域和非码区域。在确定多个一维码候选区域之后,在一维码的每个候选区域上,确定设定数量的扫描线,其中,设定数量可以为4、5、6等,只要保证每个候选区域上确定的扫描线的数量相等即可。
具体的,电子设备确定的一维码的每个候选区域为一个矩形区域,在确定设定数量的扫描线时,沿着矩形区域长边的方向确定设定数量的扫描线,每相邻两条扫描线之间的间距可以相同,也可以不同。较佳的,为了准确的定位一维码区域,在每个候选区域中确定设定数量的扫描线时,在一个候选区域中确定的该设定数量的扫描线中,每相邻两条扫描线之间的间距相同。
在本发明实施例中,根据一维码的边缘、直线、梯度等特征,确定多个一维码候选区域的过程属于现有技术,在此不再对此过程进行赘述。
S102:针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种。
所述电子设备,针对每个候选区域中的扫描线,根据扫描线上的像素点的像素值,可以确定出扫描线上的每个边界点。根据扫描线上的每个边界点的属性信息,可以确定每个候选区域的分值,其中,边界点的属性信息包括边界点的数量、位置和像素值中的至少一种。
针对每个候选区域,可以只根据扫描线上的边界点的任意一种属性信息,确定每个候选区域的分值,此时,每个候选区域的分值即为每个候选区域的置信分值;还可以根据扫描线上的边界点的任意两种属性信息,确定每个候选区域的分值,或者可以根据扫描线上的边界点的三种属性信息,确定每个候选区域的分值,此时将确定的每个候选区域的分值的和,确定为每个候选区域的置信分值。
在本发明实施例中,根据扫描线上的像素点的像素值,确定出扫描线上的每个边界点的过程属于现有技术,在此不再对此过程进行赘述。
S103:按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域。
在确定每个候选区域的置信分值后,按照置信分值从高到低的顺序,对候选区域进行排序,电子设备预先设定有一维码区域的数量,根据所述数量选取排位在前的所述数量的候选区域作为定位的一维码区域。例如,预先设定的一维码区域的数量为2个,则将排位在前的2个候选区域作为定位的一维码区域。
由于在本发明实施例中,针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,进而确定每个候选区域的置信分值,按照置信分值的高低对候选区域进行排序,排位在前的候选区域更可能是一维码区域,并且,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为进行一维码定位的区域,不会将真正的一维码区域遗漏,使得定位一维码区域更加准确。
实施例2:
在上述实施例的基础上,如果边界点的属性信息为边界点的数量,为了确定每个候选区域的分值,在本发明实施例中,如果所述边界点的属性信息包括边界点的数量,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括:
针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
针对于真正的一维码区域,每条扫描线上的边界点的数量是相同的,即任意两条扫描线上的边界点的数量的差值为0,因此,针对每个候选区域,可以根据该候选区域中的任意两条扫描线上的边界点的数量的差值,确定所述任意两条扫描线对应的第一分值。
较佳的,为了提高定位一维码区域的效率,针对每个候选区域,可以根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定所述相邻两条扫描线对应的第一分值,其中,所述差值越小,说明该候选区域与真正的一维码区域符合度越高,所述第一分值也就越大。
根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定所述相邻两条扫描线对应的第一分值时,可以预先设定不同的差值范围所对应的分值,确定每相邻两条扫描线上的边界点的数量的差值对应的差值范围,将该差值范围对应的分值作为第一分值。
在本发明实施例中,以等间隔的确定5条扫描线进行说明。针对每个候选区域确定的等间隔的5条扫描线,可以确定出每条扫描线上的边界点的数量,所述预先设定不同的差值范围所对应的分值可以为:差值为0-5,分值为1分;差值为6-10,分值为0.5分等等,例如,针对相邻两条扫描线,如果所述相邻两条扫描线上的边界点的数量的差值为3,则所述相邻两条扫描线对应的第一分值为1分。
根据每相邻两条扫描线上的边界点的数量的差值,和预设的差值范围对应的分值,可以确定每相邻两条扫描线对应的第一分值,根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值。针对5条扫描线,可以确定出4个第一分值,将4个第一分值的和作为候选区域的分值。
实施例3:
在上述各实施例的基础上,如果边界点的属性信息为边界点的位置,为了确定每个候选区域的分值,在本发明实施例中,如果所述边界点的属性信息包括边界点的位置,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于设定的阈值时对应的第二分值大;
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
针对于真正的一维码区域,一维码中的每个字符对应的条空宽度比是确定的,针对同一类型的一维码,即使尺寸不同,一维码的条空宽度也是等比例变化的,因此一维码的条空的最大宽度与最小宽度的比值是一定的。一维码的条宽度和空宽度可以由相邻边界点的宽度确定,因此,针对于一维码区域,扫描线上的由相邻两个边界点确定的最大宽度与最小宽度的比值是一定的。针对不同类型的一维码,所述扫描线上的由相邻两个边界点确定的最大宽度与最小宽度的比值可能不同。
可以根据一维码的类型,根据一维码的扫描线上的由相邻两个边界点确定的最大宽度与最小宽度的比值,确定出最大的比值,可以将该最大的比值作为预设的阈值。因此,针对每个候选区域,可以根据每条扫描线上的由边界点确定的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,其中,当所述比值小于预设的阈值时,说明该候选区域与真正的一维码区域符合度越高,因此,比值小于预设的阈值时对应的第二分值较比值大于设定的阈值时对应的第二分值大。
根据该候选区域中的每条扫描线上的由边界点确定的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值时,可以预先设定扫描线上的由边界点确定的最大宽度与最小宽度的比值在不同范围内对应的分值,根据扫描线上的由边界点确定的最大宽度与最小宽度的比值对应的范围,将该范围对应的分值确定为扫描线对应的第二分值。
在本发明实施例中,还以等间隔的确定5条扫描线进行说明,针对每个候选区域确定的等间隔的5条扫描线,可以确定出每条扫描线上的边界点的位置,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,所述预设的阈值可以为一个经验值,例如可以为6,7,8等等,以所述预设的阈值为8为例,所述预先设定扫描线上的由边界点确定的最大宽度与最小宽度的比值在不同范围内对应的分值可以为:比值为0-8,分值为1分;比值为8以上,分值为0分。例如,针对每条扫描线,当该扫描线上的最大宽度与最小宽度的比值为4时,确定该扫描线对应的第二分值为1分,当该扫描线上的最大宽度与最小宽度的比值为10时,该扫描线对应的第二分值为0分。
根据每条扫描线上的由边界点确定的最大宽度与最小宽度的比值,和预设的比值所在范围对应的分值,可以确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值。针对5条扫描线,可以确定出5个第二分值,将5个第二分值的和作为候选区域的分值。
针对于真正的一维码区域,针对每条扫描线确定的边界点的平均位置点位于一条直线上,所述直线的方向即为一维码方向,所述一维码方向和一维码区域方向是相同的,即一维码方向和一维码区域方向夹角为0。因此,针对每个候选区域,可以根据该候选区域中的一维码方向和该候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值,在确定一维码方向时,可以将任意两条扫描线上的边界点的平均位置点的连线作为所述两条扫描线对应的一维码方向,根据所述一维码方向和候选区域方向的夹角,确定所述两条扫描线对应的第三分值。
较佳的,为了提高定位一维码区域的效率,针对每个候选区域,可以将每相邻两条扫描线上的边界点的平均位置点的连线作为所述相邻两条扫描线对应的一维码方向,根据所述一维码方向和候选区域方向的夹角,确定所述相邻两条扫描线对应的第三分值,其中,所述夹角越小,说明该候选区域与真正的一维码区域符合度越高,所述第三分值也就越大。
根据一维码方向和候选区域方向的夹角,确定所述相邻两条扫描线对应的第三分值时,可以预先设定不同的夹角范围对应的分值,确定每相邻两条扫描线对应的一维码方向和候选区域方向的夹角对应的夹角范围,根据预设的所述夹角范围对应的分值,确定所述相邻两条扫描线对应的第三分值。
具体的,针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点。电子设备保存有每个边界点的位置对应的坐标,针对每条扫描线,根据该扫描线上的边界点的位置对应的坐标,可以确定该扫描线上的边界点的平均位置点,根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,候选区域方向为候选区域短边的方向。
在本发明实施例中,还以等间隔的确定5条扫描线进行说明,针对每个候选区域确定的等间隔的5条扫描线,可以确定出没相邻两条扫描线对应的一维码方向和候选区域方向的夹角,所述预先设定不同的夹角范围所对应的分值可以为:夹角为0度-5度,分值为1分;夹角为6度-10度,分值为0.8分;夹角为11度-15度,分值为0.6分等等,例如,针对相邻两条扫描线,如果所述相邻两条扫描线对应的一维码方向和候选区域方向的夹角为7度,则所述相邻两条扫描线对应的第三分值为0.8分。
根据每相邻两条扫描线对应的一维码方向和候选区域方向的夹角,和预设的夹角范围对应的分值,可以确定每相邻两条扫描线对应的第三分值,根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值。针对5条扫描线,可以确定出4个第三分值,将4个第三分值的和作为候选区域的分值。
针对于真正的一维码区域,针对每条扫描线确定的边界点的平均位置点位于一条直线上,即扫描线上的平均位置点共线性很高,因此,针对每个候选区域,可以根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值,其中,所述共线性越高,说明该候选区域与真正的一维码区域符合度越高,所述第四分值也就越大。
具体的,电子设备针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点,根据每条扫描线上的平均位置点,可以确定每相邻三条扫描线上的平均位置点的共线性,根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值,其中,共线性越高第四分值越大,根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值。针对5条扫描线,可以确定出3个第四分值,将3个第四分值的和作为候选区域的分值。
根据每相邻三条扫描线上的边界点的平均位置点确定所述平均位置点的共线性时,可以通过最小二乘法,根据所述三个平均位置点的坐标,将三个平均位置点拟合为一条直线,计算每个平均位置点到所述直线的距离,根据所述距离,确定每相邻三条扫描线的共线性,其中,三个平均边界点到所述直线的距离的平均值越小,共线性越高。
为了提高确定所述平均位置点的共线性的效率,确定所述每相邻三条扫描线上的平均位置点的共线性包括:
确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫面线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或
确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
具体的,针对每相邻三条扫描线上的边界点的平均位置点,确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫面线上的平均位置点到所述连线的距离,其中,距离越小所述相邻三条扫描线的共线性越高。较佳的,针对每相邻三条扫描线,在确定其中任意两条扫描线上的平均位置点的连线时,可以按照相同的规则选取其中的两条扫描线,即可以将每相邻三条扫描线按顺序记为扫描线1、扫描线2和扫描线3,针对每相邻三条扫描线,在确定其中任意两条扫描线上的平均位置点的连线时,可以都采用扫描线1和扫描线2,或者都采用扫描线2和扫描线3,或者都采用扫描线1和扫描线3确定平均位置点的连线,确定剩余一条扫面线上的平均位置点到所述连线的距离,其中,距离越小所述相邻三条扫描线的共线性越高。
根据所述距离,确定每相邻三条扫描线的共线性,进而确定每相邻三条扫描线对应的第四分值时,可以预先设定所述距离在不同范围内对应的分值,针对每相邻三条扫描线,确定所述距离对应的距离范围,根据预设的所述距离范围对应的分值,确定所述相邻三条扫描线对应的第四分值。
例如,所述预设的不同距离范围对应的第四分值可以为:距离为0-3,分值为1分;距离为4-6,分值为0.8分;距离为7-9,分值为0.6分等等,针对相邻三条扫描线,如果所述相邻三条扫描线对应的距离为1,则所述相邻三条扫描线对应的第四分值为1分。
另外,针对每相邻三条扫描线上的边界点的平均位置点,确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,确定两条连线的夹角,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
根据所述夹角,确定每相邻三条扫描线的共线性,进而确定每相邻三条扫描线对应的第四分值时,可以预先设定所述夹角在不同范围内对应的分值,针对每相邻三条扫描线,确定所述夹角对应的夹角范围,根据预设的所述夹角范围对应的分值,确定所述相邻三条扫描线对应的第四分值。
例如,所述预设的不同夹角范围对应的第四分值可以为:夹角为0度-3度,分值为1分;夹角为4度-6度,分值为0.8分;夹角为7度-9度,分值为0.6分等等,针对相邻三条扫描线,如果所述相邻三条扫描线对应的夹角为4度,则所述相邻三条扫描线对应的第四分值为0.8分。
在本发明实施例中,边界点的属性信息为边界点的位置时,针对每个候选区域,可以只根据最大宽度与最小宽度的比值、一维码方向和候选区域方向的夹角和平均位置点的共线性中的任意一个特征,确定每个候选区域的分值,此时,根据其中任意一个特征确定的每个候选区域的分值即为每个候选区域的分值;还可以根据上述三个特征中的任意两个特征,确定每个候选区域的分值,或者可以根据上述三个特征,确定每个候选区域的分值,此时,将针对上述每个特征确定的每个候选区域的分值的和,确定为每个候选区域的分值。
实施例4:
在上述各实施例的基础上,如果所述边界点的属性信息为边界点的像素值,为了确定每个候选区域的分值,在本发明实施例中,如果所述边界点的属性信息包括边界点的像素值,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
针对于真正的一维码区域,由于一维码区域中条码的左右两边分别有一个空白区,因此每条扫描线上的第一个边界点的像素值变化特征为由白到黑,最后一个边界点的像素值变化特征为由黑到白。因此,针对每个候选区域,可以根据每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,所述预设的特征变化规则为第一个边界点的像素值变化特征为由白到黑,最后一个边界点的像素值变化特征为由黑到白。当第一个边界点和最后一个边界点的像素值变化特征满足预设的特征变化规则时,说明该候选区域与真正的一维码区域符合度越高,因此,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大。
在本发明实施例中,还以等间隔的确定5条扫描线进行说明,针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,可以确定每条扫描线上的第一个边界点和最后一个边界点两侧区域内像素点的像素值变化特征,根据第一个边界点和最后一个边界点两侧区域内像素点的像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值。满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大,例如,满足预设的特征变化规则时对应的第五分值为1分,不满足所述预设的特征变化规则时对应的第五分值为0分,这样可以确定出每条扫描线对应的第五分值。根据每条扫描线对应的第五分值的和,确定候选区域的分值。针对5条扫描线,可以确定出5个第五分值,将5个第五分值的和作为候选区域的分值。
针对于真正的一维码区域,每条扫描线上的边界点的梯度值为255或-255,因此每条扫描线上的边界点的梯度值的绝对值的平均值较大,因此,针对每个候选区域,可以根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,其中,所述平均值越大,说明该候选区域与真正的一维码区域符合度越高,所述第六分值也就越大。
根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值时,可以预先设定不同的平均值范围对应的分值,确定每条扫描线上的边界点的梯度值的绝对值的平均值对应的平均值范围,根据预设的所述平均值范围对应的分值,确定每条扫描线对应的第六分值。
在本发明实施例中,还以等间隔的确定5条扫描线进行说明,针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,可以确定每条扫描线上的边界点的梯度值,所述预先设定不同的平均值范围对应的分值可以为:平均值为245-255时,分值为1分;平均值为235-244时,分值为0.8分;平均值为225-234时,分值为0.6分等等,如果确定扫描线上边界点的梯度值的绝对值的平均值为240,则该扫描线对应的第六分值为0.8分。
根据每条扫描线上的边界点的梯度值的绝对值的平均值所在的平均值范围,和预设的平均值范围对应的分值,可以确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值。针对5条扫描线,可以确定出5个第六分值,将5个第六分值的和作为候选区域的分值。
在本发明实施例中,边界点的属性信息为边界点的像素值时,针对每个候选区域,可以只根据边界点的像素值变化特征和边界点的梯度值的平均值中的任意一个特征,确定每个候选区域的分值,此时,根据其中任意一个特征确定的每个候选区域的分值即为每个候选区域的分值;还可以根据上述两个特征,确定每个候选区域的分值,此时,将针对上述每个特征确定的每个候选区域的分值的和,确定为每个候选区域的分值。
图2为本发明实施例提供的一种一维码区域的定位装置结构示意图,所述装置包括:
第一确定模块21,用于在一维码的每个候选区域上,确定设定数量的扫描线;
第二确定模块22,用于针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;
排序定位模块23,用于按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域。
所述第二确定模块22,具体用于如果所述边界点的属性信息包括边界点的数量,针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
所述第二确定模块22,具体用于如果所述边界点的属性信息包括边界点的位置,采用以下至少一种确定每个候选区域的分值:针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于设定的阈值时对应的第二分值大;针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
所述第二确定模块22,具体用于确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫面线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
所述第二确定模块22,具体用于如果所述边界点的属性信息包括边界点的像素值,针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和/或针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
本发明实施例提供了一种一维码区域的定位方法及装置,所述方法包括:在一维码的每个候选区域上,确定设定数量的扫描线;针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为进行一维码定位的区域。由于在本发明实施例中,针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,候选区域中扫描线上的每个边界点的属性信息与真正的一维码区域中扫描线上的每个边界点的属性信息符合度越高,所述分值越大,进而确定的该候选区域的置信分值越高,按照置信分值的高低对候选区域进行排序,因此,排位在前的候选区域更可能是一维码区域,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为进行一维码定位的区域,使得定位一维码区域更加准确。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种一维码区域的定位方法,其特征在于,所述方法包括:
在一维码的每个候选区域上,确定设定数量的扫描线;
针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;
按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域;
如果所述边界点的属性信息包括边界点的数量,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括:
针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
2.如权利要求1所述的方法,其特征在于,如果所述边界点的属性信息包括边界点的位置,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于预设的阈值时对应的第二分值大;
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和
针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
3.如权利要求2所述的方法,其特征在于,确定所述每相邻三条扫描线上的平均位置点的共线性包括:
确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫描线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或
确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
4.如权利要求1所述的方法,其特征在于,如果所述边界点的属性信息包括边界点的像素值,所述针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值包括以下至少一种:
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和
针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
5.一种一维码区域的定位装置,其特征在于,所述装置包括:
第一确定模块,用于在一维码的每个候选区域上,确定设定数量的扫描线;
第二确定模块,用于针对每个候选区域中扫描线上的每个边界点的属性信息,根据所述每个边界点的属性信息,确定每个候选区域的分值,并根据每个候选区域的分值,确定每个候选区域的置信分值,其中所述边界点的属性信息包括边界点的数量、位置和像素值中的至少一种;
排序定位模块,用于按照置信分值从高到低的顺序,对候选区域进行排序,根据预先设定的一维码区域的数量,选取排位在前的所述数量的候选区域作为定位的一维码区域;
所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的数量,针对每个候选区域,根据该候选区域中的每相邻两条扫描线上的边界点的数量的差值,确定每相邻两条扫描线对应的第一分值;根据每相邻两条扫描线对应的第一分值的和,确定候选区域的分值,其中差值越小第一分值越大。
6.如权利要求5所述的装置,其特征在于,所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的位置,采用以下至少一种确定每个候选区域的分值:针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的位置,确定每条扫描线上的由相邻两个边界点确定的最大宽度和最小宽度,根据每条扫描线上的最大宽度与最小宽度的比值是否小于预设的阈值,确定每条扫描线对应的第二分值,根据每条扫描线对应的第二分值的和,确定候选区域的分值,其中,比值小于预设的阈值时对应的第二分值较比值大于预设的阈值时对应的第二分值大;针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻两条扫描线上的平均位置点的连线,确定每相邻两条扫描线对应的一维码方向,根据该一维码方向和候选区域方向的夹角,确定每相邻两条扫描线对应的第三分值;根据每相邻两条扫描线对应的第三分值的和,确定候选区域的分值,其中,夹角越小第三分值越大,候选区域方向为候选区域短边的方向;和针对每个候选区域中的每条扫描线,根据该扫描线上的边界点的位置,确定该扫描线上的边界点的平均位置点;根据每相邻三条扫描线上的平均位置点的共线性,确定每相邻三条扫描线对应的第四分值;根据每相邻三条扫描线对应的第四分值的和,确定候选区域的分值,其中,共线性越高第四分值越大。
7.如权利要求6所述的装置,其特征在于,所述第二确定模块,具体用于确定每相邻三条扫描线中任意两条扫描线上的平均位置点的连线,并确定剩余一条扫描线上的平均位置点到所述连线的距离;根据所述距离,确定每相邻三条扫描线的共线性,其中,距离越小共线性越高;或确定每相邻三条扫描线中相邻两条扫描线上的平均位置点的连线,根据两条连线的夹角,确定每相邻三条扫描线的共线性,其中,夹角越小共线性越高。
8.如权利要求5所述的装置,其特征在于,所述第二确定模块,具体用于如果所述边界点的属性信息包括边界点的像素值,针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的第一个边界点和最后一个边界点的像素值变化特征,根据像素值变化特征是否满足预设的特征变化规则,确定每条扫描线对应的第五分值,根据每条扫描线对应的第五分值的和,确定候选区域的分值,其中,满足预设的特征变化规则时对应的第五分值较不满足所述预设的特征变化规则时对应的第五分值大;和/或针对每个候选区域,根据该候选区域中的每条扫描线上的边界点的像素值,确定每条扫描线上的边界点的梯度值,根据每条扫描线上的边界点的梯度值的绝对值的平均值,确定每条扫描线对应的第六分值,根据每条扫描线对应的第六分值的和,确定候选区域的分值,其中,平均值越大第六分值越大。
CN201710119704.4A 2017-03-02 2017-03-02 一种一维码区域的定位方法及装置 Active CN107016388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710119704.4A CN107016388B (zh) 2017-03-02 2017-03-02 一种一维码区域的定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710119704.4A CN107016388B (zh) 2017-03-02 2017-03-02 一种一维码区域的定位方法及装置

Publications (2)

Publication Number Publication Date
CN107016388A CN107016388A (zh) 2017-08-04
CN107016388B true CN107016388B (zh) 2019-11-15

Family

ID=59440445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710119704.4A Active CN107016388B (zh) 2017-03-02 2017-03-02 一种一维码区域的定位方法及装置

Country Status (1)

Country Link
CN (1) CN107016388B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034103A1 (zh) * 2018-08-14 2020-02-20 深圳配天智能技术研究院有限公司 一种一维码识别方法、终端、装置及具有存储功能的装置
CN113869077A (zh) * 2021-09-29 2021-12-31 杭州海康威视数字技术股份有限公司 一种条码识别方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950828A (zh) * 2004-03-04 2007-04-18 夏普株式会社 二维代码区域提取方法,二维代码区域提取装置、电子装置,二维代码区域提取程序,以及包含该程序的记录媒介
CN103034833A (zh) * 2011-09-29 2013-04-10 无锡爱丁阁信息科技有限公司 条码定位方法及装置
CN103927765A (zh) * 2014-02-21 2014-07-16 北京象开科技有限公司 用于定位图像中条码区域的方法和装置
CN104123529A (zh) * 2013-04-25 2014-10-29 株式会社理光 人手检测方法及系统
CN106295443A (zh) * 2016-08-03 2017-01-04 浙江华睿科技有限公司 一种条码区域的定位方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950828A (zh) * 2004-03-04 2007-04-18 夏普株式会社 二维代码区域提取方法,二维代码区域提取装置、电子装置,二维代码区域提取程序,以及包含该程序的记录媒介
CN103034833A (zh) * 2011-09-29 2013-04-10 无锡爱丁阁信息科技有限公司 条码定位方法及装置
CN104123529A (zh) * 2013-04-25 2014-10-29 株式会社理光 人手检测方法及系统
CN103927765A (zh) * 2014-02-21 2014-07-16 北京象开科技有限公司 用于定位图像中条码区域的方法和装置
CN106295443A (zh) * 2016-08-03 2017-01-04 浙江华睿科技有限公司 一种条码区域的定位方法及装置

Also Published As

Publication number Publication date
CN107016388A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
CN102880850B (zh) 一种二维码批量扫描的方法及扫描设备
CN109977935A (zh) 一种文本识别方法及装置
US5698833A (en) Omnidirectional barcode locator
CN106845484B (zh) 一种一维码区域的定位方法及装置
CN105894071B (zh) 二维码混合生成方法
CN102779264B (zh) 一种实现条码识读的方法及装置
CN103714327A (zh) 一种图像方向校正方法及系统
CN107016388B (zh) 一种一维码区域的定位方法及装置
CN109543770A (zh) 点阵字符识别方法及装置
CN106874818A (zh) 一种数字对象唯一标识符doi识别方法与装置
CN103714313A (zh) 二维码识别方法和装置
CN109978964A (zh) 一种图像制作方法、装置、存储介质及终端设备
CN110610170B (zh) 一种基于图像精确校正的文档比对方法
CN107016318B (zh) 一种条码解码方法及装置
CN103034833A (zh) 条码定位方法及装置
CN105894072B (zh) 二维码混合生成系统
US10387092B2 (en) Image forming apparatus
CN109389150A (zh) 图像一致性比对方法、装置、存储介质及电子设备
CN106991348A (zh) 一种条码解码方法及装置
CN112200004A (zh) 图像检测模型的训练方法、装置及终端设备
CN111860025B (zh) 二维码感兴趣区域定位方法及装置
CN105526671B (zh) 一种用户识别方法及空调设备
CN103942543A (zh) 一种图像识别方法及装置
CN109325573B (zh) 一种二维码生成方法、二维码识读方法及装置
CN107016317A (zh) 一种条码解码方法及装置

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: C10, No. 1199 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang Huarui Technology Co.,Ltd.

Address before: C10, No. 1199 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: ZHEJIANG HUARAY TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder