CN111523341A - 二维码图像的二值化方法及设备 - Google Patents
二维码图像的二值化方法及设备 Download PDFInfo
- Publication number
- CN111523341A CN111523341A CN202010261186.1A CN202010261186A CN111523341A CN 111523341 A CN111523341 A CN 111523341A CN 202010261186 A CN202010261186 A CN 202010261186A CN 111523341 A CN111523341 A CN 111523341A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- image
- value
- gray
- texture
- 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/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D 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/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
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)
Abstract
本发明涉及一种二维码图像的二值化方法及设备,应用于图像处理技术领域,其中,方法包括获取二维码灰度图像及灰度图像的尺寸,根据灰度图像计算灰度图像中二维码区域的尺寸,根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域,计算各分块区域的二值化阈值,将各分块区域根据对应的二值化阈值进行二值化。本发明技术方案,基于二维码灰度图像中的二维码区域,对灰度图像进行切割,保证了灰度图像的有效分割,提高了对光照不均情况下的适应能力。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及二维码图像的二值化方法及设备。
背景技术
二维码是用某种特定的几何图形按照一定规律在平面上分布的黑白相间的图形,其常用于数据信息的纪录。近年来,随着社会的进步和发展,二维码以其信息存储能力强、识读方便、保密性好等特点得到了越来越广泛的应用。
二维码图像在被识读的时候,由于二维码依附的介质不同和所处环境的不确定性(如光照环境干扰),会导致二维码识读设备抓取到的二维码灰度图像千差万别,导致在后续的识别过程中难以识别出二维码图形的信息,或者是对二维码图像的信息识别错误。
发明内容
有鉴于此,本发明为了在至少一定程度上克服相关技术中存在的问题,提供一种二维码图像的二值化方法及设备。
为解决上述技术问题,本发明采用如下技术方案:
第一方面,一种二维码图像的二值化方法,包括:
获取二维码灰度图像及所述灰度图像的尺寸;
根据所述灰度图像计算所述灰度图像中二维码区域的尺寸;
根据所述二维码区域的尺寸和所述灰度图像的尺寸确定分块区域的尺寸,根据所述分块区域的尺寸对所述灰度图像进行切割,得到多个分块区域;
计算各所述分块区域的二值化阈值;
将各所述分块区域根据对应的所述二值化阈值进行二值化。
可选的,所述根据所述灰度图像计算所述灰度图像中二维码区域的尺寸,包括:
基于边缘提取算法对所述灰度图像进行边缘提取,得到二维码边缘图像;
根据所述二维码边缘图像,确定所述边缘图像的尺寸;
根据所述边缘图像的尺寸,以阵列形式提取所述边缘图像像素点中纹理像素点的数量,所述阵列包括行阵列和列阵列;
根据不同阵列中所述边缘图像中纹理像素点的数量,计算得到所述边缘图像中二维码区域的尺寸。
可选的,所述根据不同阵列中所述边缘图像中纹理像素点的数量,计算得到所述边缘图像中二维码区域的尺寸,包括:
将各所述阵列的纹理像素点的数量作为第一纹理集合;
计算所述第一纹理集合中纹理像素点的数量的第一平均值;
将各所述阵列的纹理像素点的数量与所述第一平均值进行比较;
若所述阵列的纹理像素点的数量大于所述第一平均值,将所述第一纹理集合中所述阵列的纹理像素点的数量对应位置的元素计为1,否则,计为0,得到第二纹理集合;
将统计的所述第二纹理集合中相邻两元素由0变为1时,数值为1的所述阵列所在边缘图像中的位置,作为第三纹理集合中的元素;
将统计的所述第二纹理集合中相邻两元素由1变为0时,数值为1的所述阵列所在边缘图像中的位置,作为第四纹理集合中的元素;
根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度,并将各所述数据段长度作为长度集合中的元素;
将所述长度集合中的最大值作为所述二维码区域的尺寸。
可选的,所述将所述长度集合中的最大值作为所述二维码区域的尺寸,包括:
所述阵列为行阵列,则将所述长度集合中的最大值作为所述二维码区域的行高;
所述阵列为列阵列,则将所述长度集合中的最大值作为所述二维码区域的列高。
可选的,所述根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度之前,还包括:
判断所述第三纹理集合中第一位的元素是否大于所述第四纹理集合中第一位的元素;
若是,在所述第三纹理集合的第一位添加元素1;
判断所述第三纹理集合中最后一位的元素是否大于所述第四纹理集合中最后一位的元素;
若是,在所述第四纹理集合的最后一位添加元素所述阵列的个数。
可选的,所述根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度,包括:
依次计算添加元素后的所述第三纹理集合第一位至最后一位元素与添加元素后的所述第四纹理集合对应位置的元素的差值;
将所述差值加1作为所述数据段长度。
可选的,所述计算各所述分块区域的二值化阈值,包括:
计算所述灰度图像的第一灰度均值,及各所述分块区域的第二灰度均值和方差;
统计各所述分块区域的灰度直方图,并计算所述灰度直方图中每个灰度值中像素个数的第二平均值;
基于大津法计算各所述分块区域图像的第一区域阈值;
根据相关特征值确定各所述分块区域的二值化阈值,所述相关特征值包括所述第一灰度均值、第二灰度均值、方差、第二平均值、第一大津法阈值。
可选的,所述根据相关特征值确定各所述分块区域的二值化阈值之前,还包括:
获取所述灰度直方图中的灰度值的取值范围;
去除所述取值范围中预设范围内的灰度值;
基于大津法计算去除所述预设范围内的灰度值的灰度直方图的第二区域阈值;
所述相关特征值还包括所述第二区域阈值。
可选的,还包括:
判断预设条件是否满足,所述预设条件为所述分块区域中灰度值为第二区域阈值的像素个数小于预设倍数的第二平均值;
若否,对所述预设范围内的灰度值进行调整,直至满足所述预设条件。
第二方面,一种二维码图像的二值化装置,包括:
获取模块,用于获取二维码灰度图像及所述灰度图像的尺寸;
第一计算模块,用于根据所述灰度图像计算所述灰度图像中二维码区域的尺寸;
切割模块,用于根据所述二维码区域的尺寸和所述灰度图像的尺寸确定分块区域的尺寸,根据所述分块区域的尺寸对所述灰度图像进行切割,得到多个分块区域;
第二计算模块,用于计算各所述分块区域的二值化阈值;
二值化模块,用于将各所述分块区域根据对应的所述二值化阈值进行二值化。
第三方面,一种二维码图像的二值化设备,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如第一方面所述的二维码图像的二值化方法。
第四方面,一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面任一项所述二维码图像的二值化方法。
本发明采用以上技术方案,可以实现如下技术效果:本申请中,通过获取二维码灰度图像及所述灰度图像的尺寸,然后,根据所述灰度图像计算所述灰度图像中二维码区域的尺寸,进而,根据所述二维码区域的尺寸和所述灰度图像的尺寸确定分块区域的尺寸,根据所述分块区域的尺寸对所述灰度图像进行切割,得到多个分块区域;计算各所述分块区域的二值化阈值;将各所述分块区域根据对应的所述二值化阈值进行二值化。如此,先通过二维码的灰度图像确认出灰度图像中二维码区域的大小,然后根据灰度图像中二维码区域的实际大小确定需要分割的分块区域的大小,可以使得切割的分块区域更加准确,保证了对二维码区域的有效分割,提高了对光照不均情况下的适应能力;另外,通过先计算分块区域的二值化阈值,再对和分块区域二值化的方式,自适应阈值的计算保证了二值化图像的不失真,更加有利于二维码的识读。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的二维码图像的二值化方法的流程示意图;
图2是本发明另一实施例提供的二维码图像的二值化方法的流程示意图;
图3是本发明一实施例提供的二维码图像的二值化方法中第二区域阈值的计算方法的流程示意图;
图4是本发明一实施例提供的二维码图像的二值化装置的结构示意图;
图5是本申请一实施例提供的一种二维码图像的二值化设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
实施例
图1是本发明一实施例提供的二维码图像的二值化方法的流程示意图。如图1所示,本实施例提供一种二维码图像的二值化方法,包括:
步骤101、获取二维码灰度图像及灰度图像的尺寸;
一些实施例中,通常,图像尺寸的长度与宽度是以像素为单位的,灰度图像的尺寸即是图像中每行及每列像素的数量。
步骤102、根据灰度图像计算灰度图像中二维码区域的尺寸;
一些实施例中,由于获取的灰度图像中不仅包括了需要识别的二维码区域,还包括一些干扰区域,本实施例中,通过一定的方式确定出灰度图像中的二维码区域,可以更好的对灰度图像进行切割。
步骤103、根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域;
一些实施例中,根据灰度图像的尺寸和二维码区域的尺寸共同确定出分块区域的尺寸,可以使分块区域切割的更加准确,保证了对二维码区域的有效切割。
步骤104、计算各分块区域的二值化阈值;
一些实施例中,计算各分块区域的二值化阈值的方法有多种,例如,可以采用大津法,NiBlack法,也可以采用Sauvola算法。
步骤105、将各分块区域根据对应的二值化阈值进行二值化。
本申请中,通过获取二维码灰度图像及灰度图像的尺寸,然后,根据灰度图像计算灰度图像中二维码区域的尺寸,进而,根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域;计算各分块区域的二值化阈值;将各分块区域根据对应的二值化阈值进行二值化。如此,先通过二维码的灰度图像确认出灰度图像中二维码区域的大小,然后根据灰度图像中二维码区域的实际大小确定需要分割的分块区域的大小,可以使得切割的分块区域更加准确,保证了对二维码区域的有效分割,提高了对光照不均情况下的适应能力;另外,通过先计算分块区域的二值化阈值,再对和分块区域二值化的方式,自适应阈值的计算保证了二值化图像的不失真,更加有利于二维码的识读。
图2是本发明另一实施例提供的二维码图像的二值化方法的流程示意图。如图2所示,本实施例提供一种二维码图像的二值化方法,包括:
步骤201、获取二维码灰度图像及灰度图像的尺寸;
一些实施例中,通常,图像尺寸的长度与宽度是以像素为单位的,灰度图像的尺寸即是图像中每行及每列像素的数量,例如,灰度图像的尺寸为380*520,则灰度图像的宽为380,即每列像素数量为380;高为520,即每行像素数量为520。本实施例中,将灰度图像的宽和高分别用W、H表示。
步骤202、基于边缘提取算法对灰度图像进行边缘提取,得到二维码边缘图像;
一些实施例中,边缘提取算法有多种,例如,可以为canny提取算法、RobertsCross算子,Prewitt算子,Sobel算子,罗盘算子。
步骤203、根据二维码边缘图像,确定边缘图像的尺寸;
一些实施例中,对灰度图像的边缘提取后,并不改变图像的大小,因此,边缘图像的尺寸即为上述灰度图像的尺寸。
步骤204、根据边缘图像的尺寸,以阵列形式提取边缘图像像素点中纹理像素点的数量,阵列包括行阵列和列阵列;
一些实施例中,通过对边缘图像中的行和列分别提取其中的纹理像素点,进一步的计算二维码区域的尺寸。其中,纹理像素点是指边缘图像中灰度值不为255的像素点。本实施例中,以阵列为行阵列为例,进行进一步说明,其中,为例像素点的数量用表示,式中,1≤u≤H。
步骤205、将各阵列的纹理像素点的数量作为第一纹理集合;
具体的,根据上述实施例可知,灰度图像的高为H,因此,边缘图像的行阵列的个数共为H行,第1行至第H行的纹理个数组成行纹理集合,即第一纹理集合记为
步骤206、计算第一纹理集合中纹理像素点的数量的第一平均值;
步骤207、将各阵列的纹理像素点的数量与第一平均值进行比较;
步骤208、若阵列的纹理像素点的数量大于第一平均值,将第一纹理集合中阵列的纹理像素点的数量对应位置的元素计为1,否则,计为0,得到第二纹理集合;
步骤209、将统计的第二纹理集合中相邻两元素由0变为1时,数值为1的阵列所在边缘图像中的位置,作为第三纹理集合中的元素;
进一步的,依次从前向后遍历行第二纹理集合Edgerow中的元素,依次记录相邻两元素从0变为1时数值为1的位置坐标,其组成的第三纹理集合为式中,n0表示行纹理集合Edgerow中相邻两元素从0变为1的数量。其中,位置坐标为数值为1的元素对应的阵列所在的行。
步骤210、将统计的第二纹理集合中相邻两元素由1变为0时,数值为1的阵列所在边缘图像中的位置,作为第四纹理集合中的元素;
步骤211、判断第三纹理集合中第一位的元素是否大于第四纹理集合中第一位的元素;若是,执行步骤212,若否,则不做处理;
步骤212、在第三纹理集合的第一位添加元素1;
步骤213、判断第三纹理集合中最后一位的元素是否大于第四纹理集合中最后一位的元素;若是,执行步骤214,若否,则不做处理;
步骤214、在第四纹理集合的最后一位添加元素阵列的个数。
可以理解的是,步骤211和步骤213的执行顺序不做限定,可以先执行步骤211,也可以先执行步骤213。通过步骤211至步骤214对Prow,0和Prow,1处理后,二者的元素个数相同,将Prow,0和Prow,1中元素的个数表示为y。
步骤215、根据第三纹理集合和第四纹理集合,计算第二纹理集合中元素值连续为1的数据段长度,并将各数据段长度作为长度集合中的元素;
一些实施例中,步骤215具体包括:
依次计算添加元素后的第三纹理集合第一位至最后一位元素与添加元素后的第四纹理集合对应位置的元素的差值;
将差值加1作为数据段长度,
将各数据段长度作为长度集合中的元素。
具体的,长度集合表示为Lrow,数据段长度集合Lrow中的第ii个元素表示为因此,其中,m为行纹理集合Edgerow中元素值连续为1的数据段的数量。可以理解的是,上述的第三纹理集合Prow,0和Prow ,1中元素的个数y,与Edgerow中元素值连续为1的数据段的数量m相等。
步骤216、将长度集合中的最大值作为二维码区域的尺寸。
具体的,将长度集合Lrow中的各元素进行比较,得到长度集合中的最大值,将该最大值记为Hmax,并将Hmax做为二维码区域的高度。
可以理解的是,在阵列为列阵列时,其计算方式与行阵列的计算方式相同,从而可以得到二维码区域的宽度Wmax。
由于获取的灰度图像中不仅包括了需要识别的二维码区域,还包括一些干扰区域,本实施例中,通过步骤204至步骤216确定出灰度图像中的二维码区域的尺寸,可以更好的对灰度图像进行切割。
步骤217、根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域;
一些实施例中,根据灰度图像的尺寸和二维码区域的尺寸共同确定出分块区域的尺寸,可以使分块区域切割的更加准确,保证了对二维码区域的有效切割。
具体的,二维码灰度图像分块区域的尺寸表示为Sizeblock×Sizeblock,Sizeblock的计算方式为:Sizeblock=MIN(MAX(10,MAX(Hmax,Wmax)/Nblock),MAX(H,W)/Nblock0);
式中,Nblock表示预设的二维码区域分割的块数,Nblock0表示预设的二维码区域分割的块数的最大值。函数MIN(…)返回值为参数列表中的最小值,函数MAX(…)返回值为参数列表中的最大值。
一些实施例中,Nblock可以但不限于为3或5或7。
通过上述步骤,计算出分块区域的大小,对二维码灰度图像切割后,便可以计算各分块区域的二值化阈值,具体包括:
步骤218、计算灰度图像的第一灰度均值,及各分块区域的第二灰度均值和方差;
一些实施例中,灰度图像的第一灰度均值表示为Meansrc,各分块区域的第二灰度均值表示为Meani,j,各分块区域的方差表示为Devi,j。其中,i和j表示被计算的块区域图像的位置坐标,1≤i≤NH,1≤j≤NW。
步骤219、统计各分块区域的灰度直方图,并计算灰度直方图中每个灰度值中像素个数的第二平均值;
一些实施例中,Li,j表示坐标为(i,j)位置处的分块区域图像的灰度直方图,则k=0,1,…,255;式中,表示坐标为(i,j)位置处的块区域图像中灰度值为k的像素的个数,Numi,j表示坐标为(i,j)位置处的块区域图像中的像素总数。
灰度直方图每个灰度值中像素数个数的第二均值:
步骤220、基于大津法计算各分块区域图像的第一区域阈值;
步骤221、根据相关特征值确定各分块区域的二值化阈值,相关特征值包括第一灰度均值、第二灰度均值、方差、第二平均值、第一大津法阈值、第二区域阈值。
基于上述相关实施例,确定各分块区域阈值Ti,j的计算方式为:
式中,T1、T2和λ为参数阈值,可以根据二维码的使用种类进行设定。
其取值范围分为为T1∈[0,255-Meansrc]、T2∈(0,40]和λ(0,1)。
图3是本发明一实施例提供的二维码图像的二值化方法中第二区域阈值的计算方法的流程示意图。如图3所示,包括:
步骤301、获取灰度直方图中的灰度值的取值范围;
本实施例中,将灰度直方图中灰度值的取值范围设为[Vmin,Vmax],其中,Vmin为直方图Li,j中像素数大于0的最小的灰度值,Vmax为直方图Li,j中像素数大于0的最大的灰度值。
步骤302、去除取值范围中预设范围内的灰度值;
一些实施例中,预设范围设置为[Vtemp,Vmax],其中,Vtemp的初始值为Vmax。其中,去除取值范围中预设范围内的灰度值,即是将灰度范围为[Vtemp,Vmax]的像素数置0。
步骤303、基于大津法计算去除预设范围内的灰度值的灰度直方图的第二区域阈值;
步骤304、判断预设条件是否满足,预设条件为分块区域中灰度值为第二区域阈值的像素个数小于预设倍数的第二平均值;
步骤305、若否,对预设范围内的灰度值进行调整,直至满足预设条件。
步骤222、将各分块区域根据对应的二值化阈值进行二值化。
本申请中,通过获取二维码灰度图像及灰度图像的尺寸,然后,根据灰度图像计算灰度图像中二维码区域的尺寸,进而,根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域;计算各分块区域的二值化阈值;将各分块区域根据对应的二值化阈值进行二值化。如此,先通过二维码的灰度图像确认出灰度图像中二维码区域的大小,然后根据灰度图像中二维码区域的实际大小确定需要分割的分块区域的大小,可以使得切割的分块区域更加准确,保证了对二维码区域的有效分割,提高了对光照不均情况下的适应能力;另外,通过先计算分块区域的二值化阈值,再对和分块区域二值化的方式,自适应阈值的计算保证了二值化图像的不失真,更加有利于二维码的识读。
图4是本发明一实施例提供的二维码图像的二值化装置的结构示意图。如图4所示,本实施例提供一种二维码图像的二值化装置,包括:
获取模块401,用于获取二维码灰度图像及灰度图像的尺寸;
第一计算模块402,用于根据灰度图像计算灰度图像中二维码区域的尺寸;
切割模块403,用于根据二维码区域的尺寸和灰度图像的尺寸确定分块区域的尺寸,根据分块区域的尺寸对灰度图像进行切割,得到多个分块区域;
第二计算模块404,用于计算各分块区域的二值化阈值;
二值化模块405,用于将各分块区域根据对应的二值化阈值进行二值化。
本实施例的具体实现方案可以参见前述实施例记载的二维码图像的二值化方法及方法实施例中的相关说明,此处不再赘述。
图5是本申请一实施例提供的一种二维码图像的二值化设备的结构示意图。参照图5,本申请实施例的提供了一种二维码图像的二值化设备,包括:
处理器501,以及与处理器相连接的存储器502;
存储器502用于存储计算机程序;
处理器501用于调用并执行存储器502中的计算机程序,以执行如上述实施例中的二维码图像的二值化方法。
本实施例的具体实现方案可以参见前述实施例记载的二维码图像的二值化方法及方法实施例中的相关说明,此处不再赘述。
本发明实施例提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如上述的二维码图像的二值化方法中各个步骤。
本实施例的具体实现方案可以参见上述二维码图像的二值化方法实施例中的相关说明,此处不再赘述。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种二维码图像的二值化方法,其特征在于,包括:
获取二维码灰度图像及所述灰度图像的尺寸;
根据所述灰度图像计算所述灰度图像中二维码区域的尺寸;
根据所述二维码区域的尺寸和所述灰度图像的尺寸确定分块区域的尺寸,根据所述分块区域的尺寸对所述灰度图像进行切割,得到多个分块区域;
计算各所述分块区域的二值化阈值;
将各所述分块区域根据对应的所述二值化阈值进行二值化。
2.根据权利要求1所述的方法,其特征在于,所述根据所述灰度图像计算所述灰度图像中二维码区域的尺寸,包括:
基于边缘提取算法对所述灰度图像进行边缘提取,得到二维码边缘图像;
根据所述二维码边缘图像,确定所述边缘图像的尺寸;
根据所述边缘图像的尺寸,以阵列形式提取所述边缘图像像素点中纹理像素点的数量,所述阵列包括行阵列和列阵列;
根据不同阵列中所述边缘图像中纹理像素点的数量,计算得到所述边缘图像中二维码区域的尺寸。
3.根据权利要求2所述的方法,其特征在于,所述根据不同阵列中所述边缘图像中纹理像素点的数量,计算得到所述边缘图像中二维码区域的尺寸,包括:
将各所述阵列的纹理像素点的数量作为第一纹理集合;
计算所述第一纹理集合中纹理像素点的数量的第一平均值;
将各所述阵列的纹理像素点的数量与所述第一平均值进行比较;
若所述阵列的纹理像素点的数量大于所述第一平均值,将所述第一纹理集合中所述阵列的纹理像素点的数量对应位置的元素计为1,否则,计为0,得到第二纹理集合;
将统计的所述第二纹理集合中相邻两元素由0变为1时,数值为1的所述阵列所在边缘图像中的位置,作为第三纹理集合中的元素;
将统计的所述第二纹理集合中相邻两元素由1变为0时,数值为1的所述阵列所在边缘图像中的位置,作为第四纹理集合中的元素;
根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度,并将各所述数据段长度作为长度集合中的元素;
将所述长度集合中的最大值作为所述二维码区域的尺寸。
4.根据权利要求3所述的方法,其特征在于,所述将所述长度集合中的最大值作为所述二维码区域的尺寸,包括:
所述阵列为行阵列,则将所述长度集合中的最大值作为所述二维码区域的行高;
所述阵列为列阵列,则将所述长度集合中的最大值作为所述二维码区域的列高。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度之前,还包括:
判断所述第三纹理集合中第一位的元素是否大于所述第四纹理集合中第一位的元素;
若是,在所述第三纹理集合的第一位添加元素1;
判断所述第三纹理集合中最后一位的元素是否大于所述第四纹理集合中最后一位的元素;
若是,在所述第四纹理集合的最后一位添加元素所述阵列的个数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第三纹理集合和所述第四纹理集合,计算所述第二纹理集合中元素值连续为1的数据段长度,包括:
依次计算添加元素后的所述第三纹理集合第一位至最后一位元素与添加元素后的所述第四纹理集合对应位置的元素的差值;
将所述差值加1作为所述数据段长度。
7.根据权利要求1所述的方法,其特征在于,所述计算各所述分块区域的二值化阈值,包括:
计算所述灰度图像的第一灰度均值,及各所述分块区域的第二灰度均值和方差;
统计各所述分块区域的灰度直方图,并计算所述灰度直方图中每个灰度值中像素个数的第二平均值;
基于大津法计算各所述分块区域图像的第一区域阈值;
根据相关特征值确定各所述分块区域的二值化阈值,所述相关特征值包括所述第一灰度均值、第二灰度均值、方差、第二平均值、第一大津法阈值。
8.根据权利要求7所述的方法,其特征在于,所述根据相关特征值确定各所述分块区域的二值化阈值之前,还包括:
获取所述灰度直方图中的灰度值的取值范围;
去除所述取值范围中预设范围内的灰度值;
基于大津法计算去除所述预设范围内的灰度值的灰度直方图的第二区域阈值;
所述相关特征值还包括所述第二区域阈值。
9.根据权利要求8所述的方法,其特征在于,还包括:
判断预设条件是否满足,所述预设条件为所述分块区域中灰度值为第二区域阈值的像素个数小于预设倍数的第二平均值;
若否,对所述预设范围内的灰度值进行调整,直至满足所述预设条件。
10.一种二维码图像的二值化设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261186.1A CN111523341B (zh) | 2020-04-03 | 2020-04-03 | 二维码图像的二值化方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010261186.1A CN111523341B (zh) | 2020-04-03 | 2020-04-03 | 二维码图像的二值化方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523341A true CN111523341A (zh) | 2020-08-11 |
CN111523341B CN111523341B (zh) | 2023-07-11 |
Family
ID=71902000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010261186.1A Active CN111523341B (zh) | 2020-04-03 | 2020-04-03 | 二维码图像的二值化方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523341B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255393A (zh) * | 2021-07-07 | 2021-08-13 | 江苏东大集成电路系统工程技术有限公司 | 图像二值化方法、装置、存储介质及计算机设备 |
CN113362319A (zh) * | 2021-06-30 | 2021-09-07 | 深圳市创想三维科技股份有限公司 | 基于图像处理的激光打印方法和装置、激光打印机、计算机可读存储介质 |
CN113449534A (zh) * | 2021-06-28 | 2021-09-28 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393906A (zh) * | 2011-07-12 | 2012-03-28 | 四川大学 | 一种基于计算机视觉检测技术的二维码快速检测提取方法 |
CN103069430A (zh) * | 2010-07-30 | 2013-04-24 | 株式会社希福特 | 二维码读取器及程序 |
CN103093225A (zh) * | 2013-01-05 | 2013-05-08 | 武汉矽感科技有限公司 | 二维码图像的二值化方法 |
CN103914675A (zh) * | 2014-03-17 | 2014-07-09 | 东华大学 | 一种服装的快速响应矩阵二维码识别方法 |
CN104517110A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 一种二维码图像的二值化方法及系统 |
CN104636118A (zh) * | 2013-11-10 | 2015-05-20 | 航天信息股份有限公司 | 基于光平衡的qr二维码自适应二值化处理方法和装置 |
CN105069389A (zh) * | 2015-07-27 | 2015-11-18 | 福建联迪商用设备有限公司 | 二维码分块解码方法及系统 |
CN106991753A (zh) * | 2017-04-07 | 2017-07-28 | 深圳怡化电脑股份有限公司 | 一种图像二值化方法及装置 |
CN109543487A (zh) * | 2018-11-22 | 2019-03-29 | 福州图腾易讯信息技术有限公司 | 一种基于条码边缘分割的自动感应触发方法及其系统 |
CN109800615A (zh) * | 2018-12-28 | 2019-05-24 | 新大陆数字技术股份有限公司 | 二维码区域的检测定位方法及系统 |
CN110490021A (zh) * | 2019-08-21 | 2019-11-22 | 网易(杭州)网络有限公司 | 二维码定位方法、介质、装置和计算设备 |
-
2020
- 2020-04-03 CN CN202010261186.1A patent/CN111523341B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069430A (zh) * | 2010-07-30 | 2013-04-24 | 株式会社希福特 | 二维码读取器及程序 |
CN102393906A (zh) * | 2011-07-12 | 2012-03-28 | 四川大学 | 一种基于计算机视觉检测技术的二维码快速检测提取方法 |
CN103093225A (zh) * | 2013-01-05 | 2013-05-08 | 武汉矽感科技有限公司 | 二维码图像的二值化方法 |
CN104517110A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 一种二维码图像的二值化方法及系统 |
CN104636118A (zh) * | 2013-11-10 | 2015-05-20 | 航天信息股份有限公司 | 基于光平衡的qr二维码自适应二值化处理方法和装置 |
CN103914675A (zh) * | 2014-03-17 | 2014-07-09 | 东华大学 | 一种服装的快速响应矩阵二维码识别方法 |
CN105069389A (zh) * | 2015-07-27 | 2015-11-18 | 福建联迪商用设备有限公司 | 二维码分块解码方法及系统 |
CN106991753A (zh) * | 2017-04-07 | 2017-07-28 | 深圳怡化电脑股份有限公司 | 一种图像二值化方法及装置 |
CN109543487A (zh) * | 2018-11-22 | 2019-03-29 | 福州图腾易讯信息技术有限公司 | 一种基于条码边缘分割的自动感应触发方法及其系统 |
CN109800615A (zh) * | 2018-12-28 | 2019-05-24 | 新大陆数字技术股份有限公司 | 二维码区域的检测定位方法及系统 |
CN110490021A (zh) * | 2019-08-21 | 2019-11-22 | 网易(杭州)网络有限公司 | 二维码定位方法、介质、装置和计算设备 |
Non-Patent Citations (1)
Title |
---|
董玉华;张荣辉;苏孝雨;: "复杂条件下二维码识别技术在工业现场的应用研究" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449534A (zh) * | 2021-06-28 | 2021-09-28 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
CN113362319A (zh) * | 2021-06-30 | 2021-09-07 | 深圳市创想三维科技股份有限公司 | 基于图像处理的激光打印方法和装置、激光打印机、计算机可读存储介质 |
CN113255393A (zh) * | 2021-07-07 | 2021-08-13 | 江苏东大集成电路系统工程技术有限公司 | 图像二值化方法、装置、存储介质及计算机设备 |
CN113255393B (zh) * | 2021-07-07 | 2021-10-15 | 江苏东大集成电路系统工程技术有限公司 | 图像二值化方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111523341B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866924B (zh) | 一种线结构光中心线提取方法及存储介质 | |
Pun et al. | Multi-scale noise estimation for image splicing forgery detection | |
CN107945150B (zh) | 基因测序的图像处理方法及系统及计算机可读存储介质 | |
CN104517110B (zh) | 一种二维码图像的二值化方法及系统 | |
CN113466232B (zh) | 一种基于计算机图像的脆化鱼肉快速检测方法及系统 | |
US10748023B2 (en) | Region-of-interest detection apparatus, region-of-interest detection method, and recording medium | |
CN109948393B (zh) | 一种一维条码的定位方法及装置 | |
CN111523341B (zh) | 二维码图像的二值化方法及设备 | |
Holz et al. | Approximate triangulation and region growing for efficient segmentation and smoothing of range images | |
CN109409163B (zh) | 一种基于纹理特性的qr码快速定位方法 | |
CN110660072B (zh) | 一种直线边缘的识别方法、装置、存储介质及电子设备 | |
CN110298858B (zh) | 一种图像裁剪方法及装置 | |
CN113689429B (zh) | 一种基于计算机视觉的木板缺陷检测方法 | |
CN113469171A (zh) | 识别sfr测试卡图像中感兴趣区域的方法及装置、介质 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN113780110A (zh) | 一种图像序列中弱小目标实时检测方法及设备 | |
CN109087347B (zh) | 一种图像处理方法及装置 | |
CN112069852B (zh) | 一种基于游程编码的低质量二维码信息提取方法及装置 | |
CN110765875B (zh) | 交通目标的边界检测方法、设备及装置 | |
CN108830864A (zh) | 图像分割方法 | |
CN104463126A (zh) | 一种扫描文档图像的倾斜角自动检测方法 | |
CN118396885B (zh) | 用于地热资源探测数据的智能分析方法 | |
CN113971803A (zh) | 一种图像中粘连字符的分割方法及相关设备 | |
JP2007189577A (ja) | コンピュータプログラム、画像入力装置、画像入力システムおよび画像入力方法 | |
CN114708142B (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 |