CN108629219B - 一种识别一维码的方法及装置 - Google Patents
一种识别一维码的方法及装置 Download PDFInfo
- Publication number
- CN108629219B CN108629219B CN201711336626.XA CN201711336626A CN108629219B CN 108629219 B CN108629219 B CN 108629219B CN 201711336626 A CN201711336626 A CN 201711336626A CN 108629219 B CN108629219 B CN 108629219B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- code image
- target
- original
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method 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
- 238000006467 substitution reaction 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (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)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明适用于一维码识别技术领域,提供了一种识别一维码的方法、装置及终端设备。该方法包括:获取原始一维码的图像信息;基于所述图像信息判断原始一维码图像是否倾斜;若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;对所述目标一维码图像进行识别,获取识别结果。本发明实现了当终端设备与一维码存在一定角度的时候也能够完成识别,避免了调整终端设备的步骤,提高了识别效率。
Description
技术领域
本发明属于一维码识别技术领域,尤其涉及一种识别一维码的方法、装置及终端设备。
背景技术
目前,常见的扫描识别方式为点对平面或者平面对平面的扫描,即必须将终端设备(例如POS机)正(水平或者竖直)对着一维码才能完成识别,如果扫描设备与一维码存在一定角度则会识别失败,需要调整终端设备与一维码的角度后才能完成识别,造成识别效率低。
发明内容
有鉴于此,本发明实施例提供了一种识别一维码的方法及装置,以解决现有技术中识别一维码的方法存在的问题。
本发明实施例的第一方面提供了一种识别一维码的方法,包括:
获取原始一维码的图像信息;
基于所述图像信息判断原始一维码图像是否倾斜;
若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;
对所述目标一维码图像进行识别,获取识别结果。
可选地,对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像包括:
确定需要取点的线段;
获取所述线段的取点坐标;
对所述取点坐标进行组合得到目标一维码图像。
可选地,在对所述取点坐标进行组合得到目标一维码图像之前,还包括:
根据所述取点坐标的个数确定所述目标一维码图像的高度;
获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
可选地,对所述目标一维码图像进行识别,获取识别结果包括:
获取所述目标一维码图像中的黑白条纹的宽度比;
基于所述宽度比解码所述目标一维码图像。
本发明实施例的第二方面提供了一种识别一维码的装置,包括:
获取模块,用于获取原始一维码的图像信息;
判断模块,用于基于所述图像信息判断原始一维码图像是否倾斜;
取点模块,用于若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;
识别模块,用于对所述目标一维码图像进行识别,获取识别结果。
可选地,所述取点模块包括:
确定单元,用于确定需要取点的线段;
第一获取单元,用于获取所述线段的取点坐标;
组合单元,用于对所述取点坐标进行组合得到目标一维码图像。
可选地,识别一维码的装置还包括:
确定模块,用于根据所述取点坐标的个数确定所述目标一维码图像的高度;
获取模块,用于获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
可选地,所述识别模块包括:
第二获取单元,用于获取所述目标一维码图像中的黑白条纹的宽度比;
解码单元,用于基于所述宽度比解码所述目标一维码图像。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面方法中的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面方法中的步骤。
在本发明实施例中,通过获取原始一维码的图像信息,基于所述图像信息判断原始一维码图像是否倾斜,若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像,对所述目标一维码图像进行识别,获取识别结果,从而实现当终端设备与一维码存在一定角度的时候也能够完成识别,避免了调整终端设备的步骤,提高了识别效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的识别一维码的方法的实现流程示意图;
图2是本发明实施例一中步骤103的具体实现流程示意图;
图3是本发明实施例中取点的示意图;
图4是本发明实施例二提供的识别一维码的方法的实现流程示意图;
图5是本发明实施例一中步骤104的具体实现流程示意图;
图6是本发明实施例三提供的识别一维码的装置的结构框图;
图7是本发明实施例四提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当……时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
图1示出了本发明实施例一提供的识别一维码的方法的实现流程示意图。如图1所示,该识别一维码的方法具体包括如下步骤101至步骤102。
步骤101:获取原始一维码的图像信息。
其中,原始一维码是指一维码本身,即包括黑色条纹和白色条纹的一维码。一般地,通过终端设备上的摄像头对原始一维码进行拍摄(或者扫描),获取到原始一维码的图像信息。
步骤102:基于所述图像信息判断原始一维码图像是否倾斜,若是,则执行步骤103,若否,则正常扫描和识别。
示例性地,通过比对所述图像信息是否处于预设的区域来判断原始一维码是否倾斜,若倾斜,则执行步骤103,若不倾斜,即终端设备正对着原始一维码,则按照现有技术中的方法正常扫描完成识别即可。
步骤103:对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像。
示例性地,如图2所示,对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像包括:
步骤201:确定需要取点的线段。
示例性地,以坐标(x,y)的形式表示所要取的点,在取点之前首先确定需要取点的线段。
步骤202:获取所述线段的取点坐标。
示例性地,如图3所示,白色区域为640*480的图像,进行线段取点得到坐标数组,为了便于表示,分别示出x的取值集合和y的取值集合,如下:x={35,36,37,37,38,39,40,41,42,43,44,44,45,46,47,48,49,50,51,51,52,53,54,55,56,57,58,58,59,60,61,62,63,64,64,65,66,67,68,69,70,71,71,72,73,74,75,76,77,77,78,79,80,81,82,83,84,84,85,86,87,88,89,90,91,91,92,93,94,95,96,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,125,127,127,128,129,130,131,132,133,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,160,160,161,162,163,164,165,166,167,167,168,169,170,171,172,173,173,174,175,176,177,178,179,180,180,181,182,183,184,185,186,187,187,188,189,190,191,192,193,194,194,195,196,197,198,199,200,200,201,202,203,204,205,206,207,208,208,209,210,211,212,213,214,215,215,216,217,218,219,220,221,221,222,223,224,225,226,227,228,228,229,230,231,232,233,234,235,235,236,237,238,239,240,241,241,242,243,244,245,246,247,248,248,249,250,251,252,253,254,255,255,256,257,258,259,260,261,262,262,263,264,265,266,267,268,268,269,270,271,272,273,274,275,276,276,277,278,279,280,281,282,282,283,284,285,286,287,288,289,289,290,291,292,293,294,295,296,296,297,298,299,300,301,302,303,303,304,305,306,307,308,309,310,310,311,312,313,314,315,316,317,317,318,319,320,321,322,323,323,324,325,326,327,328,329,330,330,331,332,333,334,335,336,336,337,338,339,340,341,342,343,344,344,345,346,347,348,349,350,351,351,352,353,354,355,356,357,357,358,359,360,361,362,363,364,364,365,366,367,368,369,370,371,371,372,373,374,375,376,377,378,378,379,380,381,382,383,384,385,386,386,387,388,389,390,391,392,392,393,394,395,396,397,398,399,399,400,401,402,403,404,405,405,406,407,408,409,410,411,412,412,413,414,415,416,417,418,419,419,420,421,422,423,424,425,426,426,427,428,429,430,431,432,432,433,434,435,436,437,438,439,440,440,441,442,443,444,445,446,447,447,448,449,450};
y={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476}。
步骤203:对所述取点坐标进行组合得到目标一维码图像。
将步骤202中x的取值集合和y的取值集合中的取值对应组成点的{x,y}坐标,即可以取到目标一维码图像的一行,按照上面的说明目标一维码图像的宽为640,当前图像内取点数为477个,剩下的123个点的纵坐标y直接填充0。建立多个这种取点的直线坐标,在原始一维码图像内按照坐标依次取出点,得到目标一维码图像。
步骤104:对所述目标一维码图像进行识别,获取识别结果。
由于通过取点得到的目标一维码图像与原始一维码图像的特征相同,因此可以通过识别目标一维码图像获取识别结果。
在本发明实施例中,通过获取原始一维码的图像信息,基于所述图像信息判断原始一维码图像是否倾斜,若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像,对所述目标一维码图像进行识别,获取识别结果,从而实现当终端设备与一维码存在一定角度的时候也能够完成识别,避免了调整终端设备的步骤,提高了识别效率。
实施例二
图4示出了本发明实施例二提供的识别一维码的方法的实现流程示意图。如图所示该方法可以包括以下步骤:
步骤301:确定需要取点的线段。
步骤302:获取所述线段的取点坐标。
步骤303:根据所述取点坐标的个数确定所述目标一维码图像的高度。
其中,取点坐标的个数是指实际取点的个数,还是以实施例一中取点的例子来说明,取点的个数为477,因此目标一维码图像的高度为477(毫米)。
步骤304:获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
当原始一维码图像的宽度大于高度时,将原始一维码图像的宽度作为所述目标一维码图像的宽度;当原始一维码图像的高度大于宽度时,将原始一维码图像的高度作为所述目标一维码图像的宽度。
步骤305:对所述取点坐标进行组合得到目标一维码图像。
上述步骤301、302和305分别与步骤201至203相同,具体可参见步骤201至203的相关描述,在此不再赘述。
在本发明实施例的基础上,作为本发明的优选实施,如图5所示,对所述目标一维码图像进行识别,获取识别结果包括:
步骤401:获取所述目标一维码图像中的黑白条纹的宽度比。
步骤402:基于所述宽度比解码所述目标一维码图像。
对于步骤401至步骤402,由于目标一维码图像中的黑白条纹的宽度比与原始一维码图像中的黑白条纹的宽度比相同,因此可以间接通过获取目标一维码图像中的黑白条纹的宽度比来解码原始一维码图像达到识别原始一维码图像的目的。
在本发明实施例中,根据取点的实际情况获取目标一维码图像的宽度和高度,可以根据实际需要调整取点的个数来调整目标一维码图像的精度,操作灵活。
实施例三
请参考图6,其示出了本发明实施例三提供的识别一维码的装置的结构框图。识别一维码的装置50包括:获取模块51、判断模块52、取点模块53和识别模块54。其中,各模块具体功能如下:
获取模块51,用于获取原始一维码的图像信息;
判断模块52,用于基于所述图像信息判断原始一维码图像是否倾斜;
取点模块53,用于若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;
识别模块54,用于对所述目标一维码图像进行识别,获取识别结果。
可选地,所述取点模块53包括:
确定单元,用于确定需要取点的线段;
第一获取单元,用于获取所述线段的取点坐标;
组合单元,用于对所述取点坐标进行组合得到目标一维码图像。
可选地,识别一维码的装置50还包括:
确定模块,用于根据所述取点坐标的个数确定所述目标一维码图像的高度;
获取模块,用于获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
可选地,识别模块54包括:
第二获取单元,用于获取所述目标一维码图像中的黑白条纹的宽度比;
解码单元,用于基于所述宽度比解码所述目标一维码图像。
本发明实施例提供的识别一维码的装置,通过获取原始一维码的图像信息,基于所述图像信息判断原始一维码图像是否倾斜,若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像,对所述目标一维码图像进行识别,获取识别结果,从而实现当终端设备与一维码存在一定角度的时候也能够完成识别,避免了调整终端设备的步骤,提高了识别效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例四
图7是本发明五实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如识别一维码的方法程序。所述处理器60执行所述计算机程序62时实现上述各个识别一维码的方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块的功能,例如图6所示模块51至54的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成获取单元和分析单元,各单元的具体功能如下:
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Proceing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital ignal Proceor,DP)、专用集成电路(Application pecific Integrated Circuit,AIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(mart Media Card,MC),安全数字(ecure Digital,D)卡,闪存卡(Flah Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Acce Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种识别一维码的方法,其特征在于,包括:
获取原始一维码的图像信息;
基于所述图像信息判断原始一维码图像是否倾斜;
若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;
对所述目标一维码图像进行识别,获取识别结果;
其中,对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像包括:
确定需要取点的线段;
获取所述线段的取点坐标;
对所述取点坐标进行组合得到目标一维码图像。
2.如权利要求1所述的识别一维码的方法,其特征在于,在对所述取点坐标进行组合得到目标一维码图像之前,还包括:
根据所述取点坐标的个数确定所述目标一维码图像的高度;
获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
3.如权利要求2所述的识别一维码的方法,其特征在于,对所述目标一维码图像进行识别,获取识别结果包括:
获取所述目标一维码图像中的黑白条纹的宽度比;
基于所述宽度比解码所述目标一维码图像。
4.一种识别一维码的装置,其特征在于,包括:
获取模块,用于获取原始一维码的图像信息;
判断模块,用于基于所述图像信息判断原始一维码图像是否倾斜;
取点模块,用于若是,则对所述原始一维码图像进行取点,基于所取点的坐标生成目标一维码图像;
识别模块,用于对所述目标一维码图像进行识别,获取识别结果;
所述取点模块包括:
确定单元,用于确定需要取点的线段;
第一获取单元,用于获取所述线段的取点坐标;
组合单元,用于对所述取点坐标进行组合得到目标一维码图像。
5.如权利要求4所述的识别一维码的装置,其特征在于,还包括:
确定模块,用于根据所述取点坐标的个数确定所述目标一维码图像的高度;
获取模块,用于获取所述原始一维码图像的宽度和高度,将宽度和高度中的较大值作为所述目标一维码图像的宽度。
6.如权利要求5所述的识别一维码的装置,其特征在于,所述识别模块包括:
第二获取单元,用于获取所述目标一维码图像中的黑白条纹的宽度比;
解码单元,用于基于所述宽度比解码所述目标一维码图像。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336626.XA CN108629219B (zh) | 2017-12-14 | 2017-12-14 | 一种识别一维码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336626.XA CN108629219B (zh) | 2017-12-14 | 2017-12-14 | 一种识别一维码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629219A CN108629219A (zh) | 2018-10-09 |
CN108629219B true CN108629219B (zh) | 2021-04-23 |
Family
ID=63705901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711336626.XA Active CN108629219B (zh) | 2017-12-14 | 2017-12-14 | 一种识别一维码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629219B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753839A (zh) * | 2019-01-16 | 2019-05-14 | 上海龙旗科技股份有限公司 | 二维码识别优化方法及设备 |
CN112819118A (zh) * | 2020-12-31 | 2021-05-18 | 上海思岚科技有限公司 | 可编码的雷达标记物及其识别方法、设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776708A (zh) * | 2004-11-20 | 2006-05-24 | 三星电子株式会社 | 读取条形码的方法和装置 |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
CN101901328A (zh) * | 2009-05-29 | 2010-12-01 | 株式会社东芝 | 条形码处理装置及条形码处理方法 |
CN104067296A (zh) * | 2011-12-23 | 2014-09-24 | 康耐视公司 | 一维信号抽取的方法和装置 |
CN105956509A (zh) * | 2016-04-26 | 2016-09-21 | 昂纳自动化技术(深圳)有限公司 | 基于聚类算法的一维条码检测的方法及装置 |
CN107392078A (zh) * | 2017-06-14 | 2017-11-24 | 深圳市百富智能新技术有限公司 | 多角度扫描的方法、终端设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230140B1 (en) * | 2014-12-30 | 2016-01-05 | Hand Held Products, Inc. | System and method for detecting barcode printing errors |
-
2017
- 2017-12-14 CN CN201711336626.XA patent/CN108629219B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776708A (zh) * | 2004-11-20 | 2006-05-24 | 三星电子株式会社 | 读取条形码的方法和装置 |
CN101901328A (zh) * | 2009-05-29 | 2010-12-01 | 株式会社东芝 | 条形码处理装置及条形码处理方法 |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
CN104067296A (zh) * | 2011-12-23 | 2014-09-24 | 康耐视公司 | 一维信号抽取的方法和装置 |
CN105956509A (zh) * | 2016-04-26 | 2016-09-21 | 昂纳自动化技术(深圳)有限公司 | 基于聚类算法的一维条码检测的方法及装置 |
CN107392078A (zh) * | 2017-06-14 | 2017-11-24 | 深圳市百富智能新技术有限公司 | 多角度扫描的方法、终端设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108629219A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110660066B (zh) | 网络的训练方法、图像处理方法、网络、终端设备及介质 | |
CN109002820B (zh) | 一种车牌识别方法、装置及相关设备 | |
CN109886928B (zh) | 一种目标细胞标记方法、装置、存储介质及终端设备 | |
CN109166156B (zh) | 一种摄像头标定图像的生成方法、移动终端及存储介质 | |
WO2020252920A1 (zh) | 图片校正方法、装置、计算机设备及计算机可读存储介质 | |
CN111860060B (zh) | 目标检测方法、装置、终端设备及计算机可读存储介质 | |
CN109117773B (zh) | 一种图像特征点检测方法、终端设备及存储介质 | |
CN109005368B (zh) | 一种高动态范围图像的生成方法、移动终端及存储介质 | |
CN111860489A (zh) | 一种证件图像校正方法、装置、设备及存储介质 | |
CN112348778B (zh) | 一种物体识别方法、装置、终端设备及存储介质 | |
CN110082135A (zh) | 设备故障识别方法、装置和终端设备 | |
CN108573471B (zh) | 图像处理装置、图像处理方法以及记录介质 | |
CN108090486B (zh) | 一种台球比赛中的图像处理方法及装置 | |
US12198328B2 (en) | Defect detection method, electronic device and readable storage medium | |
CN111290684B (zh) | 图像显示方法、图像显示装置及终端设备 | |
CN110738204A (zh) | 一种证件区域定位的方法及装置 | |
CN115829929A (zh) | 产品表面图像的缺陷检测方法、装置、设备及存储介质 | |
CN114638294A (zh) | 一种数据增强方法、装置、终端设备及存储介质 | |
CN112966719B (zh) | 识别仪表盘读数的方法、装置及终端设备 | |
CN113158773B (zh) | 一种活体检测模型的训练方法及训练装置 | |
CN111275622B (zh) | 图像拼接方法、装置及终端设备 | |
KR102421604B1 (ko) | 이미지 처리 방법, 장치 및 전자 기기 | |
CN108629219B (zh) | 一种识别一维码的方法及装置 | |
CN108776959B (zh) | 图像处理方法、装置及终端设备 | |
CN112200004B (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 |