CN108073847B - 对条码进行定位的方法、设备和装置 - Google Patents
对条码进行定位的方法、设备和装置 Download PDFInfo
- Publication number
- CN108073847B CN108073847B CN201610975663.4A CN201610975663A CN108073847B CN 108073847 B CN108073847 B CN 108073847B CN 201610975663 A CN201610975663 A CN 201610975663A CN 108073847 B CN108073847 B CN 108073847B
- Authority
- CN
- China
- Prior art keywords
- preset shape
- bar code
- area
- barcode
- sampling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000005070 sampling Methods 0.000 claims abstract description 96
- 238000001514 detection method Methods 0.000 claims description 63
- 238000012549 training Methods 0.000 claims description 46
- 238000013145 classification model Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000003062 neural network model Methods 0.000 claims description 10
- 238000003066 decision tree Methods 0.000 claims description 7
- 238000012706 support-vector machine Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/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
- 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/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1465—Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1491—Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种对条码进行定位的方法、装置和设备,其中方法包括:获取扫描得到的条码图像;对所述条码图像进行预设形状区域采样;利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的方块是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;将对应条码区域的预设形状区域进行合并,得到条码区域。这种方式能够降低条码识别对条码图像质量的要求,实现条码的精确定位。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种对条码进行定位的方法、设备和装置。
【背景技术】
目前基于摄像头的条码识别普遍流行,用户可以通过诸如“扫一扫”等功能实现商品查询、支付、添加联系人等,如图1所示。现有的条码识别方式主要基于图像二值化,例如基于图像灰度阈值的分割、边缘增强提取等技术。但这种方式,对条码的图像质量有很高要求,而实际场景中,复杂光照、抖动、对焦等因素都将使得基于摄像头拍摄的条码图像无法精准定位条码区域,从而使得条码识别准确度较低。
【发明内容】
有鉴于此,本发明提供了一种对条码进行定位的方法、设备和装置,以便于降低条码识别对条码图像质量的要求,实现条码的精确定位。
具体技术方案如下:
本发明提供了一种对条码进行定位的方法,该方法包括:
获取扫描得到的条码图像;
对所述条码图像进行预设形状区域采样;
利用采样得到的预设形状区域的至少一个像素差特征,检测采样得到的预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
将对应条码区域的预设形状区域进行合并,得到条码区域。
根据本发明一优选实施方式,利用采样得到的预设形状区域的至少一个像素差特征,检测采样得到的预设形状区域是否对应条码区域,包括:
将采样得到的各预设形状区域的各像素差特征与预设的特征阈值进行比较,以确定采样得到的各预设形状区域是否对应条码区域。
根据本发明一优选实施方式,所述利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,包括:
针对各采样得到的预设形状区域分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
将采样得到的预设形状区域的像素差特征输入条码检测模型,得到该预设形状区域是否对应条码区域的检测结果;其中所述条码检测模型是预先利用样本预设形状区域的像素差特征训练得到的。
根据本发明一优选实施方式,该方法还包括预先训练所述条码检测模型,具体包括:
在样本图像的条码区域采样第一尺寸的预设形状区域作为正样本,在样本图像的非条码区域采样第一尺寸的预设形状区域作为负样本;
从各正样本和负样本中分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
利用提取的像素差特征,训练分类模型,得到所述条码检测模型。
根据本发明一优选实施方式,所述分类模型包括以下至少一种:决策树模型、支持向量机模型以及神经网络模型。
根据本发明一优选实施方式,各像素差特征所采用的两个像素点位置是预先利用样本图像学习得到的。
根据本发明一优选实施方式,该方法还包括:预先利用样本图像学习得到各像素差特征所采用的两个像素点位置,具体包括:
将样本图像中对应条码区域的预设形状区域作为正样本,不对应条码区域的预设形状区域作为负样本;
利用自学习模型对所述样本图像进行学习,得到各像素差特征所采用的两个像素点位置,以使得对所述样本图像中预设形状区域的分类准确度达到预设要求。
根据本发明一优选实施方式,所述自学习模型包括:adaboost或神经网络模型。
根据本发明一优选实施方式,对所述条码图像进行预设形状区域采样包括:
按照第一尺寸在所述条码图像中进行采样;其中,采样的各预设形状区域互相紧邻,或者采样的相邻预设形状区域之间存在重叠。
根据本发明一优选实施方式,所述将对应条码区域的预设形状区域进行合并,得到条码区域包括:
将对应条码区域的预设形状区域进行聚类,得到一个以上的预设形状区域群组;
确定所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,将该预设形状区域群组所在的区域作为条码区域。
根据本发明一优选实施方式,若所述不存在所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,则重新转至对所述条码图像进行预设形状区域采样的步骤,其中按照第二尺寸在所述条码图像中进行采样,并按照第二尺寸和第一尺寸的比例,调整像素差特征所采样的两个像素点的位置。
根据本发明一优选实施方式,该方法进一步包括:
利用所述条码区域包含的预设形状区域,确定条码方向。
根据本发明一优选实施方式,利用所述条码区域包含的预设形状区域,确定条码方向包括:
将所述条码区域包含的预设形状区域中心点进行直线拟合,将拟合得到的直线方向作为条码方向;或者,
统计所述条码区域包含的预设形状区域的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。
根据本发明一优选实施方式,该方法进一步包括:
沿着所述条码方向,确定所述条码区域的起始点和结束点的位置。
根据本发明一优选实施方式,沿着所述条码方向,确定所述条码区域的起始点和结束点位置包括:
沿着所述条码方向,确定所述条码区域的起始预设形状区域和结束预设形状区域;
利用梯度下降算法对所述起始预设形状区域和结束预设形状区域进行定位,得到起始点和结束点的位置。
根据本发明一优选实施方式,所述预设形状区域包括方块。
本发明还提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现:
获取扫描得到的条码图像;
对所述条码图像进行预设形状区域采样;
利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
将对应条码区域的预设形状区域进行合并,得到条码区域。
本发明还提供了一种对条码进行定位的装置,该装置包括:
获取单元,用于获取扫描得到的条码图像;
采样单元,用于对所述条码图像进行预设形状区域采样;
检测单元,用于利用所述采样单元采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
合并单元,用于将对应条码区域的预设形状区域进行合并,得到条码区域。
根据本发明一优选实施方式,所述检测单元,具体用于将采样得到的各预设形状区域的各像素差特征与预设的特征阈值进行比较,以确定采样得到的各预设形状区域是否对应条码区域。
根据本发明一优选实施方式,所述检测单元具体执行:
针对各采样得到的预设形状区域分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
将采样得到的预设形状区域的像素差特征输入条码检测模型,得到该预设形状区域是否对应条码区域的检测结果;其中所述条码检测模型是预先利用样本预设形状区域的像素差特征训练得到的。
根据本发明一优选实施方式,该装置还包括:
第一训练单元,用于在样本图像的条码区域采样第一尺寸的预设形状区域作为正样本,在样本图像的非条码区域采样第一尺寸的预设形状区域作为负样本;从各正样本和负样本中分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;利用提取的像素差特征,训练分类模型,得到所述条码检测模型。
根据本发明一优选实施方式,所述分类模型包括以下至少一种:决策树模型、支持向量机模型以及神经网络模型。
根据本发明一优选实施方式,各像素差特征所采用的两个像素点位置是预先利用样本图像学习得到的。
根据本发明一优选实施方式,该装置还包括:
第二训练单元,用于将样本图像中对应条码区域的预设形状区域作为正样本,不对应条码区域的预设形状区域作为负样本;利用自学习模型对所述样本图像进行学习,得到各像素差特征所采用的两个像素点位置,以使得对所述样本图像中预设形状区域的分类准确度达到预设要求。
根据本发明一优选实施方式,所述自学习模型包括:adaboost或神经网络模型。
根据本发明一优选实施方式,所述采样单元,具体执行按照第一尺寸在所述条码图像中进行采样;其中,采样的各预设形状区域互相紧邻,或者采样的相邻预设形状区域之间存在重叠。
根据本发明一优选实施方式,所述合并单元,具体执行:
将对应条码区域的预设形状区域进行聚类,得到一个以上的预设形状区域群组;
确定所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,将该预设形状区域群组所在的区域作为条码区域。
根据本发明一优选实施方式,若所述合并单元确定不存在所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,则触发所述采样单元重新按照第二尺寸对所述条码图像进行预设形状区域的采样,并按照第二尺寸和第一尺寸的比例,调整像素差特征所采样的两个像素点的位置。
根据本发明一优选实施方式,该装置还包括:
方向确定单元,用于利用所述条码区域包含的预设形状区域,确定条码方向。
根据本发明一优选实施方式,所述方向确定单元,具体执行:
将所述条码区域包含的预设形状区域中心点进行直线拟合,将拟合得到的直线方向作为条码方向;或者,
统计所述条码区域包含的预设形状区域的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。
根据本发明一优选实施方式,该装置还包括:
头尾检测单元,用于沿着所述条码方向,确定所述条码区域的起始点和结束点的位置。
根据本发明一优选实施方式,所述头尾检测单元,具体用于:沿着所述条码方向,确定所述条码区域的起始预设形状区域和结束预设形状区域;利用梯度下降算法对所述起始预设形状区域和结束预设形状区域进行定位,得到起始点和结束点的位置。
根据本发明一优选实施方式,所述预设形状区域包括方块。
由以上技术方案可以看出,本发明对扫描得到的条码图像进行方块采样后,利用方块的至少一个像素差特征确定各方块是否对应条码区域,并将对应条码区域的方块进行合并,从而实现条码区域的精确定位。这种方式相比较基于图像二值化的方式,降低了条码识别对条码图像质量的要求。
【附图说明】
图1为现有技术中条码扫描界面的示意图;
图2为本发明实施例提供的对条码进行定位的方法流程图;
图3a为本发明实施例提供的方块采样的一种方式示意图;
图3b为本发明实施例提供的方块采样的另一种方式示意图;
图4为本发明实施例提供的一种像素差特征所采用的像素点位置实例图;
图5为本发明实施例提供的一种检测方块是否对应条码区域的流程图;
图6为本发明实施例提供的训练条码方块检测模型的方法流程图;
图7为本发明实施例提供的样本采集的示意图;
图8为本发明实施例提供的深度二叉树的一个简单实例图;
图9为本发明实施例提供的得到方块群组的示意图;
图10为本发明实施例提供的确定条码区域的起始点和结束点的示意图;
图11为本发明实施例提供的条码定位装置的结构示意图;
图12为本发明实施例提供的设备结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图2为本发明实施例提供的对条码进行定位的方法流程图,如图2中所示,该方法可以包括以下步骤:
在201中,获取扫描得到的条码图像。
本步骤中获取的条码图像可以为用户通过摄像头扫描条码后得到的图像。本方法的执行主体可以直接从摄像头获取扫描得到的条码图像,也可以在摄像头扫描得到条码图像并进行缓存后,从缓存中得到该条码图像。当然,也可以是其他方式,在此不一一穷举。
在202中,对条码图像进行方块采样。
需要说明的是,本发明实施例中以方块采样为例进行描述,除了方块之外,也可以采用诸如圆形、菱形等其他的预设形状区域。
本步骤中对条码图像进行方块采样时,可以按照预定的尺寸进行采样。若后续对方块是否对应条码区域的检测采用条码方块检测模型,则进行方块采样时初始使用的预定尺寸可以采用与训练条码方块检测模型时采样的方块尺寸一致。其中条码方块检测模型及其训练过程将在后续实施例中详述。
采样方块的过程可以看做是以预定尺寸的窗口遍历条码图像的过程。其中采样的各方块可以互相紧邻,如图3a中所示,采样的各方块尺寸一致,且互相紧邻。或者采样的相邻方块之间也可以存在重叠,如图3b中所示,采样的各方块尺寸一致,但在左右和上下方向上相邻的方块之间存在重叠,图3b中,实线标识未被遮挡的方块边缘,虚线表示被与之重叠的方块遮挡的方块边界。
需要说明的是,本发明实施例中涉及的方块可以是正方形块,也可以是长方形块,但需要尺寸保持一致。为了方便描述,在后续实施例中均以正方形块为例。
在203中,利用采样得到的方块的至少一个像素差特征,检测采样得到的方块是否对应条码区域。
在本步骤中,对采样得到的方块提取像素差特征,其中可以边采样边对采样的方块提取像素差特征,也可以待对条码图像采样方块完毕后,再对采样得到的各方块提取像素差特征。
在本发明实施例中利用条码黑白分明的特点,引入了一个特征,即像素差特征(PWPD,PairWisePixelsDiffer),PWPD体现了方块中两个位置的像素点的相对灰度差,以位置x和y为例,如图4所示,在采样得到的各方块中,x和y在各方块中的相对位置一致,例如x和y在左上顶点与右下顶点间的对角线上,且x在三分之一处位置的像素点,y在三分之二处位置的像素点。每个方块中的x和y均是如此。其中,位置x和y可以是预先指定的,例如根据经验指定,也可以是通过机器学习的方式学习得到的,该部分将在后续描述中涉及。
作为一种优选的实施方式,PWPD可以采用如下公式:
其中,I(x)和I(y)分别为像素点x和像素点y处的灰度值,I(x)和I(y)可以在[0,255]区间取值。
本发明之所以采用PWPD作为特征,是因为PWPD具有如下特性:
1)PWPD具有尺度不变性,且对光照具有鲁棒性。
从公式(1)可以看出,PWPD只与图像灰度有关,对于同一个图像不同尺寸,只要像素点的相对位置不变,则其PWPD的值就不会发生变化,因此具有尺度不变性。在不同强度的光照下,由于是求灰度插值的比值,因此光照的影响相互抵消,PWPD的值保持不变。
2)PWPD只利用两个位置的像素点信息,不需要太丰富的纹理信息,一方面计算量较小,另一方面对低分辨率及模糊图像具有较强的适应性。
3)PWPD计算简单,快速。在实际应用过程中,由于I(x)和I(y)的取值在[0,255]区间,且为整数,因此可以预先建立一个256×256的查找表,计算PWPD时进行查表即可。
4)PWPD的特征空间较大,适合用于检测。假设采样的方块采用24×24(个像素点)尺寸,则特征空间中可用的特征数量为(24×24-1)×24×24/2=165600。
在本发明实施例中,针对各方块,可以分别采集一个PWPD特征,也可以分别采集多个PWPD特征。一个方块中的多个PWPD特征分别体现不同的两个像素点的相对灰度差。举一个例子,一个方块提取三个PWPD特征:一个PWPD特征是f(x1,y1),一个PWPD特征是f(x2,y2),再一个PWPD特征是f(x3,y3)。每个方块均提取这三个PWPD特征。提取的PWPD特征越多,识别的准确性越高,但同时带来的计算量越大,因此需要根据需求在两者之间做取舍和平衡。
在检测采样得到的方块是否对应条码区域时,可以采用但不限于以下两种方式:
第一种方式:将方块的PWPD特征与预设的特征阈值进行比较,该预设的特征阈值可以是根据经验值或者实验值确定的。
例如,可以针对各PWPD特征设置特征阈值(每个特征阈值均可以包括上限值和下限值),将各PWPD特征分别与对应的特征阈值进行比较,若一个方块的所有PWPD特征均在特征阈值上限值和下限值之间,则可以确定该方块对应条码区域,否则可以确定该方块对应非条码区域。
这种方式鉴于经验或者实验条件的限制,可能确定出的特征阈值准确性和适应性存在一定的偏差,因此优选下述第二种方式。
第二种方式:可以如图5中所示,在501中,针对各采样得到的方块分别提取PWPD特征。在502中,将采样得到的方块的PWPD特征输入条码方块检测模型,得到该方块是否对应条码区域的检测结果。其中该条码方块检测模型是预先利用样本方块的PWPD特征训练得到的。
下面对条码方块检测模型的训练过程进行描述。图6为本发明实施例提供的训练条码方块检测模型的流程图,该条码方块检测模型的训练过程在条码定位之前完成即可,条码定位中利用的是训练得到的条码方块检测模型,但条码方块检测模型在后续也可以不断地得到优化和更新。如图6中所示,模型训练过程可以包括以下步骤:
在601中,收集样本方块。具体地,可以在样本图像的条码区域采集预设尺寸的方块作为正样本,在样本图像的非条码区域采集预设尺寸的方块作为负样本。
对于样本方块的收集,可以将一些条码图像作为样本图像,然后在条码区域采集方块作为正样本,在非条码区域采集方块作为负样本。其中,方块的采集可以按照预设的尺寸,例如按照24×24(个像素点)尺寸进行采集。为了丰富样本数据,尽可能提高条码方块检测模型的识别准确度,在条码区域的边缘部分,也需要采集一些方块作为正样本。如图7中所示,在图7中,实线方块代表正样本方块,这些方块不仅在条码区域内部存在,在条码区域边缘也存在。在边缘处,只要条码区域占方块面积超过二分之一就可以认为是正样本方块。虚线方块代表负样本方块。
在使用大量样本图像进行样本方块的采集后,就可以利用采集的正样本和负样本进行模型训练。样本越丰富,模型越准确,但训练时间也需要越长,计算量也越大,因此需要在两者之间取均衡。
在602中,从正样本和负样本中分别提取至少一个PWPD特征。
在本步骤中,从正样本和负样本的方块中分别提取PWPD特征,PWPD特征为两个像素点的相对灰度差,采用公式(1)。
上述两个像素点的位置设置可以按照经验或实验等方式,优选地,可以预先利用样本图像学习得到。
对两个像素点的位置进行学习的过程可以具体为:将样本图像中对应条码区域的方块作为正样本,不对应条码区域的方块作为负样本,该过程可以与上面所提及的采样过程相同。然后利用自学习模型对样本图像进行学习,得到各PWPD特征所采用的两个像素点的位置,以使得对样本图像中方块的分类准确度达到预设要求,例如分类准确度最优,或者分类准确度达到一定阈值。其中自学习模型可以采用但不限于adaboost、人工网络模型等等。
一旦学习到各PWPD特征所采用的两个像素点的位置,在条码方块检测模型的训练以及在后续条码定位过程中均将采用该位置,需要说明的是,本发明实施例中涉及的PWPD特征所采用的两个像素点的位置实际上并非绝对位置,而是在方块中体现为相对位置。仍以图4中为例,无论方块的尺寸如何,PWPD特征所采用的像素点x和y均在对角线上三分之一和三分之二处,随着方块尺寸的变化,x和y的绝对位置会发生变化,但相对位置(相对于方块整体)不变。
在603中,利用提取的PWPD,训练分类模型,得到条码方块检测模型。
在本发明实施例中,采用的分类模型可以包括但不限于决策树模型、支持向量机模型、神经网络模型等等。分类模型的训练已经是现有比较成熟的技术,在此不做限制。作为决策树模型的其中一种,在本发明实施例中可以采用深度二叉树模型,训练深度二叉树模型的过程,就可以看做是训练各PWPD特征对应的特征阈值的上限值和下限值的过程,即区分条码区域和非条码区域最好的阈值上限和下限的过程。采用建立好的深度二叉树,通过在各二叉树节点的判断和分支,能够自动将方块划分到不同的类别。
举个例子,每个方块均提取四个PWPD特征:f1、f2、f3和f4,在深度二叉树中可以简单体现为如图8所示,若f1∈[θ11,θ12],则进入判断f1的分值,否则进入判断f2的分支,依次进行各分支的判断后,得到最终类别。
至此就可以检测出扫描得到的条码图像中各采样得到的方块是否对应条码区域。继续参见图2。
在204中,将对应条码区域的方块进行合并,得到条码区域。
在本步骤中,可以将对应条码区域的方块进行聚类,可能得到一个方块群组(即类),也可能得到多个方块群组(因为有的情况下,实际上并非条码区域的方块也可能被检测为对应条码区域的方块)。
对各个方块群组进行判别,判别其是否满足预设的判别条件,即判断所包含的方块数量大于预设数量阈值且方块之间互相紧邻或存在重叠。例如某个方块群组包含的方块数量大于10,且这些方块之间互相紧邻或存在重叠。是否紧邻或存在重叠与采样方式相关,若在方块采样的时候是以相互紧邻的方式采样的,那么本步骤中方块群组的判别就采用包含方块数量大于预设数量阈值且方块之间互相紧邻的方式。若在方块采样的时候是以相邻方块之间互相重叠的方式,那么本步骤中方块群组的判别就采用包含方块数量大于预设数量阈值且方块之间存在重叠的方式。
假设识别出对应条码区域的方块如图9所示,聚类后得到三个方块群组。方块群组3所包含的方块数量大于10,且方块之间互相紧邻,那么可以将方块群组3所包含的方块进行合并,合并得到的区域就是条码区域。
然后将满足上述判别条件的方块群组所包含的方块进行合并,合并得到的区域就是条码区域。
由于扫描得到的条码图像的分辨率无法预测,因此,采用与训练条码方块检测模型过程中采样方块所采用的尺寸,并不一定能够得到满足上述判别条件的方块群组。若不存在满足上述判别条件的方块群组,则可以改变对条码图像进行方块采样所采用的尺寸,重新转至执行步骤202。其中改变方块采样所采用的尺寸可以是增大,也可以是减小。例如,若初始采用24×24(个像素点)的尺寸采样方块后,无法得到满足判别条件的方块群组,则重新采样方块时,可以采用48×48(个像素点)的尺寸进行方块采样。若仍无法得到满足判别条件的方块群组,则继续增大采样方块所采用的尺寸,直至找到满足判别条件的方块群组。
在本发明实施例中,可以预先设定一些可选择的尺寸,在对条码图像进行第一次采样和检测时,默认采用与条码方块检测模型在训练时采用的方块尺寸。若不存在满足判别条件的方块群组,则在上述预设的可选择的尺寸中再选择一个尺寸对条码图像进行方块采样,若不存在满足判别条件的方块群组,则在上述预设的可选择的尺寸中再选择一个尺寸对条码图像进行方块采样,直至存在满足判别条件的方块群组。
在确定出条码区域后,可以进一步执行以下步骤:
在205中,利用条码区域包含的方块,确定条码方向。
用户在进行条码扫描时,并不一定保持条码水平,因此需要在确定出条码区域后,确定条码方向。确定条码方向的方式可以采用但不限于以下几种:
第一种方式:将条码区域包含的方块中心点进行直线拟合。由于条码区域是一个长条形区域,因此条码区域包含的方块中心点拟合出的直线方向应该与条码方向一致。拟合的方式可以采用诸如最小二乘拟合。拟合出的直线方向可以作为条码方向。
第二种方式:统计条码区域包含的方块的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。
由于灰度的梯度方向表征的是灰度的变化速度,那么梯度方向实际上指向的是黑白临界的方向。对于条码区域而言,发生黑白临界最多的是黑条码与白条码的临界处。因此,统计得到的梯度方向最多的就是条码的横向方向,即条码方向。
在206中,沿着条码方向,确定条码区域的起始点和结束点的位置。
首先沿着条码方向可以确定出条码区域的起始方块和结束方块,如图10中所示,图中虚线为条码方向。那么起始点一定存在于起始方块中,结束点存在于结束方块中。如何在起始方块中确定出起始点以及在结束方块中确定出结束点,则可以采用梯度下降算法。以起始方块为例,其中的起始点实际上是黑条码区域与白色背景区域的临界点。对于各像素点而言,灰度的梯度表征的是灰度的变化速度,那么梯度最大值就对应着变化最大的地方,也就是临界点。由于图像(此处对应就是起始方块)可以看做是二维离散函数,梯度就是这个二维离散函数的求导。通过计算梯度向量找到在条码方向上的梯度最大值对应的像素点,就可以作为起始点。梯度下降算法由于在图像边缘检测上已经得到了广泛和成熟的应用,在此不做详述。
除了梯度下降算法之外,还可以采用其他方式,例如直接将起始方块的中心点作为起始点,将结束方块的中心点作为结束点,但这种方式的准确性相比较梯度下降算法而言较低,因此优选梯度下降算法。
至此在确定出条码区域的基础上,进一步确定出了条码方向和条码的起始点和结束点,完成了条码精确定位。
需要说明的是,上述方法的执行主体可以为条码定位装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者,还可以位于服务器端,本发明实施例对此不进行特别限定。
图11为本发明实施例提供的条码定位装置的结构示意图,如图11中所示,该装置可以包括:获取单元01、采样单元02、检测单元03和合并单元04,还可以进一步包括第一训练单元05、第二训练单元06、方向确定单元07和头尾检测单元08。其中各组成单元的主要功能如下:
获取单元01负责获取扫描得到的条码图像。获取单元01获取的条码图像可以为用户通过摄像头扫描条码后得到的图像。可以直接从摄像头获取扫描得到的条码图像,也可以在摄像头扫描得到条码图像并进行缓存后,从缓存中得到该条码图像。
采样单元02负责对条码图像进行方块采样。采样单元02对条码图像进行方块采样时,可以按照预定的尺寸进行采样。若后续检测单元03对方块是否对应条码区域的检测采用条码方块检测模型,则采样单元02进行方块采样时初始使用的预定尺寸可以采用与训练条码方块检测模型时采样的方块尺寸一致。其中,采样的各方块互相紧邻,或者采样的相邻方块之间存在重叠。
检测单元03负责利用采样单元02采样得到的方块的至少一个PWPD特征,检测采样得到的方块是否对应条码区域,PWPD特征体现方块中两个像素点的相对灰度差。
在本发明实施例中,针对各方块,可以分别采集一个PWPD特征,也可以分别采集多个PWPD特征。一个方块中的多个PWPD特征分别体现不同的两个像素点的相对灰度差。举一个例子,一个方块提取三个PWPD特征:一个PWPD特征是f(x1,y1),一个PWPD特征是f(x2,y2),再一个PWPD特征是f(x3,y3)。每个方块均提取这三个PWPD特征。提取的PWPD特征越多,识别的准确性越高,但同时带来的计算量越大,因此需要根据需求在两者之间做取舍和平衡。
在检测采样得到的方块是否对应条码区域时,可以采用但不限于以下两种方式:
第一种方式:将方块的PWPD特征与预设的特征阈值进行比较,该预设的特征阈值可以是根据经验值或者实验值确定的。
例如,可以针对各PWPD特征设置特征阈值(每个特征阈值均可以包括上限值和下限值),将各PWPD特征分别与对应的特征阈值进行比较,若一个方块的所有PWPD特征均在特征阈值上限值和下限值之间,则可以确定该方块对应条码区域,否则可以确定该方块对应非条码区域。
这种方式鉴于经验或者实验条件的限制,可能确定出的特征阈值准确性和适应性存在一定的偏差,因此优选下述第二种方式。
第二种方式:针对各采样得到的方块分别提取至少一个PWPD特征,PWPD特征体现方块中两个像素点的相对灰度差;将采样得到的方块的PWPD特征输入条码方块检测模型,得到该方块是否对应条码区域的检测结果;其中条码方块检测模型是预先利用样本方块的PWPD特征训练得到的。
合并单元04负责将对应条码区域的方块进行合并,得到条码区域。具体地,合并单元04可以将对应条码区域的方块进行聚类,得到一个以上的方块群组;确定所包含方块数量达到预设数量阈值且方块之间互相紧邻或存在重叠的方块群组,将该方块群组所在的区域作为条码区域。
由于扫描得到的条码图像的分辨率无法预测,因此,采用与训练条码方块检测模型过程中采样方块所采用的尺寸,并不一定能够得到满足上述判别条件的方块群组。若不存在满足上述判别条件的方块群组,则采样单元02可以改变对条码图像进行方块采样所采用的尺寸,重新对条码图像进行方块采样,并由检测单元03对重新采样的方块进行检测。
下面对条码方块检测模型的训练过程进行描述。第一训练单元05负责在样本图像的条码区域采样预设尺寸的方块作为正样本,在样本图像的非条码区域采样预设尺寸的方块作为负样本;从各正样本和负样本中分别提取至少一个PWPD特征,PWPD特征体现方块中两个像素点的相对灰度差;利用提取的PWPD特征,训练分类模型,得到条码方块检测模型。其中,采用的分类模型可以包括但不限于决策树模型、支持向量机模型、神经网络模型等等。
上述PWPD特征所采用两个像素点的位置设置可以按照经验或实验等方式,优选地,可以预先利用样本图像学习得到。若采用学习的方式,则第二训练单元06将样本图像中对应条码区域的方块作为正样本,不对应条码区域的方块作为负样本;利用自学习模型对样本图像进行学习,得到各PWPD特征所采用的两个像素点位置,以使得对样本图像中方块的分类准确度达到预设要求。其中自学习模型可以采用但不限于adaboost、人工网络模型等等。
在确定出条码区域后,可以进一步由方向确定单元07利用条码区域包含的方块,确定条码方向。
具体地,方向确定单元07可以将条码区域包含的方块中心点进行直线拟合,将拟合得到的直线方向作为条码方向;或者,统计条码区域包含的方块的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。当然,也可以采用其他方式确定条码方向。
头尾检测单元08负责沿着条码方向,确定条码区域的起始点和结束点的位置。首先沿着条码方向可以确定出条码区域的起始方块和结束方块,那么起始点一定存在于起始方块中,结束点存在于结束方块中。如何在起始方块中确定出起始点以及在结束方块中确定出结束点,则可以采用梯度下降算法。
本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。如图12所示,该设备可以包括一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现本发明上述实施例中所示的方法流程和/或装置操作。例如:
获取扫描得到的条码图像;
对所述条码图像进行方块采样;
利用采样得到的方块的PWPD特征,检测采样得到的方块是否对应条码区域,所述PWPD特征体现方块中第一位置和第二位置的像素点的相对灰度差;
将对应条码区域的方块进行合并,得到条码区域。
上述设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等等,智能家居设备还可以包括智能门锁、智能插座、智能电灯、智能摄像头等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
在此列举一个应用场景:
在购物类APP上,用户通过诸如手机、平板电脑等终端设备打开购物类APP,进入扫码界面。购物类APP通过调用摄像头,就能够拍摄到某商品的条码图像。只要用户拍摄的条码图像中包含条码即可,无需人工将条码放置于指定的扫码框中并保持方向水平。
然后购物类APP将条码图像上传至服务器端,由服务器端执行本发明实施例提供的条码定位方法,就能够准确定位出条码区域,并可以进一步确定出条码方向和条码的起始点和结束点。为后续条码识别提供基础,以便提高条码识别的准确率。
或者,由购物类APP在本地执行本发明实施例提供的条码定位方法,从而准确定位出条码区域,并可以进一步确定出条码方向和条码的起始点和结束点。购物类APP可以将条码区域上传至服务器端,由服务器端完成后续条码识别的处理,也可以由购物类APP在本地完成后续条码识别的处理。
若由服务器端完成条码识别的处理,则可以将条码识别的结果返回给购物类APP。或者基于条码识别的结果进行商品信息的搜索,从而将搜索得到的商品信息返回给购物类APP。
若由购物类APP完成条码识别的处理,则可以将条码识别的结果上传给服务器端,由服务器端基于条码识别的结果进行商品信息的搜索,从而将搜索得到的商品信息返回给购物类APP。
通过该应用场景,用户扫描商品上的条码就能够获取到关于该商品的信息,例如是否为正品、产地是哪里、哪里能够买到,等等。
由以上描述可以看暗处,本发明提供的方法、装置和设备可以具备以下优点:
1)本发明对扫描得到的条码图像进行方块采样后,利用方块的至少一个像素差特征确定各方块是否对应条码区域,并将对应条码区域的方块进行合并,从而实现条码区域的精确定位。这种方式相比较基于图像二值化的方式,降低了条码识别对条码图像质量的要求。
2)通过本发明提供的条码区域的精确定位方式,使得用户在进行扫码时无需人为定位条码区域并使其对准条码框,大大提高了用户扫码的操作自由度。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (27)
1.一种对条码进行定位的方法,其特征在于,该方法包括:
获取扫描得到的条码图像;
对所述条码图像进行预设形状区域采样,包括按照第一尺寸在所述条码图像中进行采样;其中,采样的各预设形状区域互相紧邻,或者采样的相邻预设形状区域之间存在重叠;
利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;所述利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,包括:针对各采样得到的预设形状区域分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;将采样得到的预设形状区域的像素差特征输入条码检测模型,得到该预设形状区域是否对应条码区域的检测结果;其中所述条码检测模型是预先利用样本预设形状区域的像素差特征训练得到的;
预先训练所述条码检测模型,具体包括:在样本图像的条码区域采样第一尺寸的预设形状区域作为正样本,在样本图像的非条码区域采样第一尺寸的预设形状区域作为负样本;从各正样本和负样本中分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;利用提取的像素差特征,训练分类模型,得到所述条码检测模型;
将对应条码区域的预设形状区域进行聚类,得到一个以上的预设形状区域群组;确定所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,将该预设形状区域群组所在的区域作为条码区域。
2.根据权利要求1所述的方法,其特征在于,利用采样得到的预设形状区域的至少一个像素差特征,检测采样得到的预设形状区域是否对应条码区域,包括:
将采样得到的各预设形状区域的各像素差特征与预设的特征阈值进行比较,以确定采样得到的各预设形状区域是否对应条码区域。
3.根据权利要求1所述的方法,其特征在于,所述分类模型包括以下至少一种:决策树模型、支持向量机模型以及神经网络模型。
4.根据权利要求1所述的方法,其特征在于,各像素差特征所采用的两个像素点位置是预先利用样本图像学习得到的。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:预先利用样本图像学习得到各像素差特征所采用的两个像素点位置,具体包括:
将样本图像中对应条码区域的预设形状区域作为正样本,不对应条码区域的预设形状区域作为负样本;
利用自学习模型对所述样本图像进行学习,得到各像素差特征所采用的两个像素点位置,以使得对所述样本图像中预设形状区域的分类准确度达到预设要求。
6.根据权利要求5所述的方法,其特征在于,所述自学习模型包括:adaboost或神经网络模型。
7.根据权利要求1所述的方法,其特征在于,若不存在所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,则重新转至对所述条码图像进行预设形状区域采样的步骤,其中按照第二尺寸在所述条码图像中进行采样,并按照第二尺寸和第一尺寸的比例,调整像素差特征所采样的两个像素点的位置。
8.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
利用所述条码区域包含的预设形状区域,确定条码方向。
9.根据权利要求8所述的方法,其特征在于,利用所述条码区域包含的预设形状区域,确定条码方向包括:
将所述条码区域包含的预设形状区域中心点进行直线拟合,将拟合得到的直线方向作为条码方向;或者,
统计所述条码区域包含的预设形状区域的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。
10.根据权利要求8所述的方法,其特征在于,该方法进一步包括:
沿着所述条码方向,确定所述条码区域的起始点和结束点的位置。
11.根据权利要求10所述的方法,其特征在于,沿着所述条码方向,确定所述条码区域的起始点和结束点位置包括:
沿着所述条码方向,确定所述条码区域的起始预设形状区域和结束预设形状区域;
利用梯度下降算法对所述起始预设形状区域和结束预设形状区域进行定位,得到起始点和结束点的位置。
13.根据权利要求1至11任一权项所述的方法,其特征在于,所述预设形状区域包括方块。
14.一种电子设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现:
获取扫描得到的条码图像;
对所述条码图像进行预设形状区域采样;
利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
所述利用采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的各预设形状区域是否对应条码区域,包括:针对各采样得到的预设形状区域分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;将采样得到的预设形状区域的像素差特征输入条码检测模型,得到该预设形状区域是否对应条码区域的检测结果;其中所述条码检测模型是预先利用样本预设形状区域的像素差特征训练得到的;
预先训练所述条码检测模型,具体包括:在样本图像的条码区域采样第一尺寸的预设形状区域作为正样本,在样本图像的非条码区域采样第一尺寸的预设形状区域作为负样本;从各正样本和负样本中分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
对所述条码图像进行预设形状区域采样包括:按照第一尺寸在所述条码图像中进行采样;其中,采样的各预设形状区域互相紧邻,或者采样的相邻预设形状区域之间存在重叠;
利用提取的像素差特征,训练分类模型,得到所述条码检测模型;
将对应条码区域的预设形状区域进行聚类,得到一个以上的预设形状区域群组;
确定所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,将该预设形状区域群组所在的区域作为条码区域。
15.一种对条码进行定位的装置,其特征在于,该装置包括:
获取单元,用于获取扫描得到的条码图像;
采样单元,具体执行按照第一尺寸在所述条码图像中进行采样;其中,采样的各预设形状区域互相紧邻,或者采样的相邻预设形状区域之间存在重叠;
检测单元,用于利用所述采样单元采样得到的各预设形状区域的至少一个像素差特征,检测采样得到的预设形状区域是否对应条码区域,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;所述检测单元具体执行:
针对各采样得到的预设形状区域分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;
将采样得到的预设形状区域的像素差特征输入条码检测模型,得到该预设形状区域是否对应条码区域的检测结果;其中所述条码检测模型是预先利用样本预设形状区域的像素差特征训练得到的;
第一训练单元,用于在样本图像的条码区域采样第一尺寸的预设形状区域作为正样本,在样本图像的非条码区域采样第一尺寸的预设形状区域作为负样本;从各正样本和负样本中分别提取至少一个像素差特征,所述像素差特征体现预设形状区域中两个像素点的相对灰度差;利用提取的像素差特征,训练分类模型,得到所述条码检测模型;
合并单元,将对应条码区域的预设形状区域进行聚类,得到一个以上的预设形状区域群组;
确定所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,将该预设形状区域群组所在的区域作为条码区域。
16.根据权利要求15所述的装置,其特征在于,所述检测单元,具体用于将采样得到的各预设形状区域的各像素差特征与预设的特征阈值进行比较,以确定采样得到的各预设形状区域是否对应条码区域。
17.根据权利要求15所述的装置,其特征在于,所述分类模型包括以下至少一种:决策树模型、支持向量机模型以及神经网络模型。
18.根据权利要求15所述的装置,其特征在于,各像素差特征所采用的两个像素点位置是预先利用样本图像学习得到的。
19.根据权利要求18所述的装置,其特征在于,该装置还包括:
第二训练单元,用于将样本图像中对应条码区域的预设形状区域作为正样本,不对应条码区域的预设形状区域作为负样本;利用自学习模型对所述样本图像进行学习,得到各像素差特征所采用的两个像素点位置,以使得对所述样本图像中预设形状区域的分类准确度达到预设要求。
20.根据权利要求19所述的装置,其特征在于,所述自学习模型包括:adaboost或神经网络模型。
21.根据权利要求15所述的装置,其特征在于,若所述合并单元确定不存在所包含预设形状区域数量达到预设数量阈值且预设形状区域之间互相紧邻或存在重叠的预设形状区域群组,则触发所述采样单元重新按照第二尺寸对所述条码图像进行预设形状区域的采样,并按照第二尺寸和第一尺寸的比例,调整像素差特征所采样的两个像素点的位置。
22.根据权利要求15所述的装置,其特征在于,该装置还包括:
方向确定单元,用于利用所述条码区域包含的预设形状区域,确定条码方向。
23.根据权利要求22所述的装置,其特征在于,所述方向确定单元,具体执行:
将所述条码区域包含的预设形状区域中心点进行直线拟合,将拟合得到的直线方向作为条码方向;或者,
统计所述条码区域包含的预设形状区域的灰度值梯度方向,确定统计得到数量最多的梯度方向,将确定的梯度方向作为条码方向。
24.根据权利要求22所述的装置,其特征在于,该装置还包括:
头尾检测单元,用于沿着所述条码方向,确定所述条码区域的起始点和结束点的位置。
25.根据权利要求24所述的装置,其特征在于,所述头尾检测单元,具体用于:沿着所述条码方向,确定所述条码区域的起始预设形状区域和结束预设形状区域;利用梯度下降算法对所述起始预设形状区域和结束预设形状区域进行定位,得到起始点和结束点的位置。
27.根据权利要求15至25任一权项所述的装置,其特征在于,所述预设形状区域包括方块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610975663.4A CN108073847B (zh) | 2016-11-07 | 2016-11-07 | 对条码进行定位的方法、设备和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610975663.4A CN108073847B (zh) | 2016-11-07 | 2016-11-07 | 对条码进行定位的方法、设备和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073847A CN108073847A (zh) | 2018-05-25 |
CN108073847B true CN108073847B (zh) | 2021-09-07 |
Family
ID=62153911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610975663.4A Active CN108073847B (zh) | 2016-11-07 | 2016-11-07 | 对条码进行定位的方法、设备和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073847B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490020B (zh) * | 2019-07-31 | 2023-01-13 | 珠海市杰理科技股份有限公司 | 条码识别方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093547A (zh) * | 2007-05-18 | 2007-12-26 | 上海邮政科学研究院 | 基于高度参数的条码和数字协同识别物品的方法 |
US7487916B2 (en) * | 2005-09-15 | 2009-02-10 | Symbol Technologies, Inc. | Imaging-based bar code reader with enhanced decoding capability |
CN201927035U (zh) * | 2010-06-01 | 2011-08-10 | 福建新大陆电脑股份有限公司 | 一种条码解码装置及其二值化装置 |
CN102254144A (zh) * | 2011-07-12 | 2011-11-23 | 四川大学 | 一种鲁棒的图像中二维码区域提取方法 |
CN103034831A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 线性条码识别方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034834B (zh) * | 2011-09-29 | 2015-07-29 | 无锡爱丁阁信息科技有限公司 | 条码检测方法及装置 |
CN105809123B (zh) * | 2016-03-04 | 2019-11-12 | 智慧眼科技股份有限公司 | 人脸检测方法及装置 |
-
2016
- 2016-11-07 CN CN201610975663.4A patent/CN108073847B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487916B2 (en) * | 2005-09-15 | 2009-02-10 | Symbol Technologies, Inc. | Imaging-based bar code reader with enhanced decoding capability |
CN101093547A (zh) * | 2007-05-18 | 2007-12-26 | 上海邮政科学研究院 | 基于高度参数的条码和数字协同识别物品的方法 |
CN201927035U (zh) * | 2010-06-01 | 2011-08-10 | 福建新大陆电脑股份有限公司 | 一种条码解码装置及其二值化装置 |
CN102254144A (zh) * | 2011-07-12 | 2011-11-23 | 四川大学 | 一种鲁棒的图像中二维码区域提取方法 |
CN103034831A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 线性条码识别方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108073847A (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534957B2 (en) | Eyeball movement analysis method and device, and storage medium | |
CN108229277B (zh) | 手势识别、手势控制及多层神经网络训练方法、装置及电子设备 | |
CN107624189B (zh) | 用于生成预测模型的方法和设备 | |
CN103207898B (zh) | 一种基于局部敏感哈希的相似人脸快速检索方法 | |
US10558844B2 (en) | Lightweight 3D vision camera with intelligent segmentation engine for machine vision and auto identification | |
Liu et al. | Real-time robust vision-based hand gesture recognition using stereo images | |
CN108875542B (zh) | 一种人脸识别方法、装置、系统及计算机存储介质 | |
CN109376604B (zh) | 一种基于人体姿态的年龄识别方法和装置 | |
CN109409994A (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
CN111626163B (zh) | 一种人脸活体检测方法、装置及计算机设备 | |
CN111008935B (zh) | 一种人脸图像增强方法、装置、系统及存储介质 | |
CN109274891B (zh) | 一种图像处理方法、装置及其存储介质 | |
CN110334605A (zh) | 基于神经网络的手势识别方法、装置、存储介质及设备 | |
WO2019033570A1 (zh) | 嘴唇动作分析方法、装置及存储介质 | |
WO2012051747A1 (en) | Method and apparatus for providing hand detection | |
CN112907569A (zh) | 头部图像区域的分割方法、装置、电子设备和存储介质 | |
CN113688261B (zh) | 图像数据清理方法、装置、电子设备及可读存储介质 | |
CN111353429A (zh) | 基于眼球转向的感兴趣度方法与系统 | |
CN114743026A (zh) | 目标对象的方位检测方法、装置、设备及计算机可读介质 | |
CN108073847B (zh) | 对条码进行定位的方法、设备和装置 | |
CN113409470A (zh) | 基于ar的场景导览方法、ar眼镜、电子装置和存储介质 | |
CN106406507B (zh) | 图像处理方法以及电子设备 | |
CN109359543B (zh) | 一种基于骨骼化的人像检索方法及装置 | |
CN116206341A (zh) | 一种人体红外图像的分割处理方法 | |
Wang et al. | Skin Color Weighted Disparity Competition for Hand Segmentation from Stereo Camera. |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201109 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |