图形验证码识别方法、装置、可读存储介质及终端设备与流程

文档序号:18942527发布日期:2019-10-23 01:16阅读:225来源:国知局
图形验证码识别方法、装置、可读存储介质及终端设备与流程

本发明属于计算机技术领域,尤其涉及一种图形验证码识别方法、装置、计算机可读存储介质及终端设备。



背景技术:

随着爬虫技术的兴起,越来越多的业务展开开始借助于网络爬虫的数据抓取能力,而出于对安全及流量控制的考量,各个网站也相继启用了图形验证码验证来作为阻挡网络爬虫的一道关卡,随着图像识别技术的飞速发展,图形验证码的花样也逐步翻新改进,从最早的字符端正、背景干净到后期背景变色,加入各种噪声,字体样式不断变化,从而变得越来越复杂,使用现有技术对这些复杂的图形验证码进行识别的成功率往往极低。



技术实现要素:

有鉴于此,本发明实施例提供了一种图形验证码识别方法、装置、计算机可读存储介质及终端设备,以解决现有技术对复杂的图形验证码进行识别的成功率极低的问题。

本发明实施例的第一方面提供了一种图形验证码识别方法,可以包括:

对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像;

根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像;

对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像;

对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像;

使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果,所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

本发明实施例的第二方面提供了一种图形验证码识别装置,可以包括:

灰度化模块,用于对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像;

图像增强模块,用于根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像;

二值化模块,用于对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像;

字符定位模块,用于对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像;

识别模块,用于使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果,所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:

对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像;

根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像;

对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像;

对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像;

使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果,所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

本发明实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:

对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像;

根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像;

对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像;

对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像;

使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果,所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像,接着根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像,然后对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像,再对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像,最后使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果。通过本发明实施例,采用灰度化处理、图像增强处理、二值化处理等一系列的操作,可以有效去除图形验证码中各种背景色彩以及噪声的干扰,从而可以准确地对其中的各个字符进行定位,并且通过多层的机器学习模型群组从不同的维度对字符进行识别,大大提高了对各种复杂的图形验证码进行识别的成功率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例中一种图形验证码识别方法的一个实施例流程图;

图2为对灰度图像进行图像增强处理的示意流程图;

图3为对二值图像中的各个字符进行定位的示意流程图;

图4为机器学习模型群组的架构示意图;

图5为使用机器学习模型群组对各个子图像分别进行识别的示意流程图;

图6为本发明实施例中一种图形验证码识别装置的一个实施例结构图;

图7为本发明实施例中一种终端设备的示意框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例中一种图形验证码识别方法的一个实施例可以包括:

步骤s101、对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像。

灰度化处理就是将彩色图像转为灰度图像的过程,在本实施例中可以通过加权平均的方式对所述图形验证码的各个像素点进行灰度化处理,即:

gray=wr×red+wg×green+wb×blue

其中,red、green、blue分别代表像素点的红色分量、绿色分量和蓝色分量,wr、wg、wb分别为red、green、blue的权值,且满足wr+wg+wb=1,优选地,在本实施例中可以设置:wr=0.299,wg=0.587,wb=0.114,gray代表像素点的灰度值。

步骤s102、根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像。

如图2所示,步骤s102具体可以包括如下步骤:

步骤s1021、计算所述第一灰度图像的灰度分布的第一概率密度。

具体地,可以根据下式计算所述第一灰度图像的灰度分布的第一概率密度:

其中,p(k)为第k级灰度分布的第一概率密度,0≤k≤l,l为灰度等级的级数,其取值可以根据实际情况进行设置,例如,可以将其设置为256、512、1024或者其它取值,nk为第k级灰度的像素点个数,n为像素点总数。

步骤s1022、计算所述第一灰度图像的灰度分布的第二概率密度。

具体地,可以根据下式计算所述第一灰度图像的灰度分布的第二概率密度:

其中,q为灰度扩展因子,且0<q<1,其取值可以根据实际情况进行设置,例如,可以将其设置为0.2、0.3、0.5或者其它取值,pmax为第一概率密度的最大值,即:pmax=max(p(1),p(2),...,p(k),...,p(l)),max为求最大值函数,q(k)为第k级灰度分布的第二概率密度。

步骤s1023、对所述第一灰度图像进行图像增强处理。

具体地,可以根据下式对所述第一灰度图像进行图像增强处理:

其中,floor为向下取值函数,f(k)为第k级灰度在图像增强处理后的灰度值。

通过图2所示的过程,灰度图像得到了进一步地增强,可以大大提高后续对所述图形验证码进行识别的成功率。

步骤s103、对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像。

二值化指的是将灰度图像转换成只有黑白两色的图像。通常做法是确定一个阈值(即二值化阈值),如果灰度图像上的像素大于该阈值则为白色,否则为黑色。传统做法是手动设置该阈值,但其可扩展性差,手动设置的值不准确,误差较大。在本实施例中,根据图像的灰度特性,将图像分为两个部分,两部分之间的区分度如果越大,就说明构成图像的两个部分之间的差别越大,当部分前景被错分为背景或部分背景被错分为前景,都会导致两部分差别变小,当取最优阈值时,两部分之间的区分度应该是最大的,也就意味着错分概率最小。

在本实施例中,为了确定出最优阈值,首先遍历各个二值化阈值(即二值化阈值的各种可能取值),并根据下式分别计算使用各个二值化阈值对所述第二灰度图像进行二值化处理时,第一类像素点与第二类像素点之间的区分度:

其中,所述第一类像素点为灰度值大于或等于二值化阈值的像素点,fstnum为所述第一类像素点的数目,fn为所述第一类像素点的序号,1≤fn≤fstnum,greyfn为第fn个第一类像素点的灰度值,fstratio为所述第一类像素点的比例系数,fstave为所述第一类像素点的平均灰度值,所述第二类像素点为灰度值小于二值化阈值的像素点,sndnum为所述第二类像素点的数目,sn为所述第二类像素点的序号,1≤sn≤sndnum,greysn为第sn个第二类像素点的灰度值,sndratio为所述第二类像素点的比例系数,sndave为所述第二类像素点的平均灰度值,greyave为所述第二灰度图像的平均灰度值,var为所述第一类像素点与所述第二类像素点之间的区分度。

然后,将所述区分度取得最大值时所对应的二值化阈值确定为最优阈值,并使用所述最优阈值对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像。

步骤s104、对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像。

如图3所示,步骤s104具体可以包括如下步骤:

步骤s1041、分别统计在使用所述最优阈值对所述第二灰度图像进行二值化处理时,所述第一类像素点的数目和所述第二类像素点的数目。

在经过二值化处理之后,所有的像素点均被分为了两类像素点,即灰度值大于或等于所述最优阈值的第一类像素点,以及灰度值小于所述最优阈值的第二类像素点。

步骤s1042、判断所述第一类像素点的数目是否大于所述第二类像素点的数目。

若所述第一类像素点的数目大于所述第二类像素点的数目,则执行步骤s1043,若所述第一类像素点的数目小于所述第二类像素点的数目,则执行步骤s1044。

步骤s1043、将所述第一类像素点确定为背景像素点,将所述第二类像素点确定为目标像素点。

步骤s1044、将所述第一类像素点确定为目标像素点,将所述第二类像素点确定为背景像素点。

考虑到在图形验证码中,一般真正的字符在整个图形中所占比例一般较小,因此在确定出最优阈值之后,可以分别统计第一类像素点的数目以及第二类像素点的数目,将其中数目较多的作为背景像素点(用0表示),而将其中数目较少的作为目标像素点(也即组成验证码的像素点,用1表示)。

优选地,在上述过程之后,还可以确定出二值图像中的各个连通域,连通域为由彼此连通且灰度值相同(同为0或同为1)的像素点构成的集合,在本实施例中,采用的是八邻域,即把每个像素点周围的8个邻接像素点都作为与之联通的像素点。分别统计各个连通域的像素点个数,将像素点个数小于预设阈值的连通域确定为待调整连通域,该阈值可以根据实际情况进行设置,例如,可以将其取值设置为3、5、10或者其它取值。对待调整连通域中的各个像素点进行像素值对调,即将原来的背景像素点变更为目标像素点,将原来的目标像素点变更为背景像素点,从而对图像中存在的噪点进行清除,保证字符定位结果的准确性。

步骤s1045、分别计算所述二值图像中各个像素行的目标像素点数目与背景像素点数目之间的第一比值,并将所述第一比值大于预设的比值阈值的像素行确定为字符所占用的目标行。

以所述二值图像中的任意一个像素行为例,统计该像素行的目标像素点与背景像素点的比值,也即所述第一比值,并判断该比值是否大于预设的比例阈值,在本实施例中设置比例阈值为:tgtnum为所述二值图像中目标像素点的总数,bgnum为所述二值图像中背景像素点的总数,coef为大于1的系数,可以根据实际情况将其设置为1.2、1.5、2或者其它取值,thrt为所述比例阈值。若所述第一比值大于所述比例阈值,则确定该像素行为字符所占用的目标行,将该像素行的定位结果记为1,反之,则确定该行不是字符所占用的目标行,将该像素行的定位结果记为0。

步骤s1046、分别计算所述二值图像中各个像素列的目标像素点数目与背景像素点数目之间的第二比值,并将所述第二比值大于所述比值阈值的像素列确定为字符所占用的目标列。

步骤s1046的具体过程与步骤s1045类似,具体可参照步骤s1045的详细说明,此处不再赘述。

步骤s1047、根据所述目标行和所述目标列对所述二值图像中的各个字符进行定位。

此处可以将各个像素行的定位结果按顺序记录为如下形式:

(0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0)

其中,若某像素行的定位结果与其前面若干个像素行(此处设置为2个像素行)以及后面若干个像素行的定位结果均不相同,则将其作为孤立行,对其结果进行取反操作,结果如下:

(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0)

将其中连续出现1的像素行确定为字符所占用的像素行,此例中,可确定字符占用了第12至第24共13个像素行。

类似地,此处可以将各个像素列的定位结果按顺序记录为如下形式:

(0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0)

将其中连续出现1的像素列确定为字符所占用的像素列,此例中,可确定共有4个字符,其中,第一个字符占用了第5至第9共5个像素列,第二个字符占用了第14至第18共5个像素列,第三个字符占用了第23至第27共5个像素列,第四个字符占用了第32至第36共5个像素列。

通过以上过程,则可以确定出各个字符的大致区域,并分别从所述二值图像中提取出各个字符所在区域的子图像。

步骤s105、使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果。

所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

在本实施例中通过预先训练好的机器学习模型来对各个字符进行识别,其中,所使用到的机器学习模型具体可以是深度学习模型或者svm向量机学习模型,且这些机器学习模型是经过大量学习样本预先训练完成的,因此,在输入各个字符区域子图像的特征向量之后,可以得到其输出的验证码识别结果。本实施例中机器学习模型的构建以及训练过程可参见现有技术中的各种常用方法,并非本实施例重点,此处不再赘述。

但与现有技术不同的是,本实施例中构建了多层次的机器学习模型群组来逐步对字符进行识别,该群组中不同机器学习模型采用互不相同分类下的图形验证码作为学习样本预先训练得到,这主要是考虑到不同网站采用的图形验证码上的验证码字符的格式往往相距迥异,比如有些验证码字符采用字母,有些验证码字符采用汉字,即使都是字母,但是有些验证码字符采用罗马体,有些验证码字符采用花体,即使都是汉字,有些验证码字符采用楷体,有些验证码字符采用宋体。而如果机器学习模型的学习样本中包含各种不同格式的验证码字符,将大大增大机器学习模型训练完成的难度,也会降低训练完成后机器学习模型的识别正确率。

为解决这一问题,在本实施例中优选采用了如图4所示的由多个机器学习模型所组成的三层识别架构,并通过如图5所示的过程逐步进行识别:

步骤s1051、使用第一识别模型对第cn个子图像进行识别,得到第cn个子图像的字符类别。

所述第一识别模型为所述机器学习模型群组中的第1层机器学习模型,1≤cn≤cn,cn为所述二值图像中的字符数目。

在所述机器学习模型群组中的第1层结构中,设置有1个机器学习模型,该机器学习模型只对字符类别进行识别,也即只对字符是字母还是汉字进行识别。

步骤s1052、从所述机器学习模型群组中的第2层机器学习模型集合中选取与第cn个子图像的字符类别对应的机器学习模型作为第二识别模型。

步骤s1053、使用所述第二识别模型对第cn个子图像进行识别,得到第cn个子图像的字体类别。

在所述机器学习模型群组中的第2层结构中,设置有2个机器学习模型,分别记为#1和#2,其中,#1只对字母的字体类别进行识别,也即只对字母的字体是罗马体、花体、或者其它字体进行识别,#2只对汉字的字体类别进行识别,也即只对汉字的字体是楷体、宋体、或者其它字体进行识别。若在步骤s1051中确定的字符类别为字母,则选取#1作为所述第二识别模型继续进行识别过程,若在步骤s1051中确定的字符类别为汉字,则选取#2作为所述第二识别模型继续进行识别过程,从而识别出字体类别。

步骤s1054、从所述机器学习模型群组中的第3层机器学习模型集合中选取与第cn个子图像的字体类别对应的机器学习模型作为第三识别模型。

步骤s1055、使用所述第三识别模型对第cn个子图像进行识别,得到第cn个子图像的识别结果。

在所述机器学习模型群组中的第3层结构中,设置有众多的机器学习模型,其中,属于第2层机器学习模型#1的下层机器学习模型分别记为#11、#12、#13、…,其中,#11只对罗马体的字母进行识别,#12只对花体的字母进行识别,…,若在步骤s1052中确定的字体类别为罗马体,则选取#11作为所述第三识别模型继续进行识别过程,若在步骤s1052中确定的字体类别为花体,则选取#12作为所述第三识别模型继续进行识别过程,得到最终的识别结果。属于第2层机器学习模型#2的下层机器学习模型分别记为#21、#22、#23、…,其中,#21只对楷体的汉字进行识别,#22只对宋体的汉字进行识别,…,若在步骤s1052中确定的字体类别为楷体,则选取#21作为所述第三识别模型继续进行识别过程,若在步骤s1052中确定的字体类别为宋体,则选取#22作为所述第三识别模型继续进行识别过程,得到最终的识别结果。通过这样的方式,每个模型只进行单一模式的识别,大大简化了机器学习模型构建及训练的难度,并提高了图形验证码的识别成功率。

综上所述,本发明实施例首先对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像,接着根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像,然后对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像,再对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像,最后使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果。通过本发明实施例,采用灰度化处理、图像增强处理、二值化处理等一系列的操作,可以有效去除图形验证码中各种背景色彩以及噪声的干扰,从而可以准确地对其中的各个字符进行定位,并且通过多层的机器学习模型群组从不同的维度对字符进行识别,大大提高了对各种复杂的图形验证码进行识别的成功率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的一种图形验证码识别方法,图6示出了本发明实施例提供的一种图形验证码识别装置的一个实施例结构图。

本实施例中,一种图形验证码识别装置可以包括:

灰度化模块601,用于对待识别的图形验证码进行灰度化处理,得到所述图形验证码的第一灰度图像;

图像增强模块602,用于根据所述第一灰度图像中的灰度分布特征对所述第一灰度图像进行图像增强处理,得到所述图像验证码的第二灰度图像;

二值化模块603,用于对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像;

字符定位模块604,用于对所述二值图像中的各个字符进行定位,并分别从所述二值图像中提取出各个字符所在区域的子图像;

识别模块605,用于使用预设的机器学习模型群组对各个所述子图像分别进行识别,得到各个字符的识别结果,所述机器学习模型群组中包括n层机器学习模型,各层机器学习模型分别用于从不同的维度对字符进行识别,n为大于1的整数。

进一步地,所述识别模块可以包括:

第一识别单元,用于使用第一识别模型对第cn个子图像进行识别,得到第cn个子图像的字符类别,所述第一识别模型为所述机器学习模型群组中的第1层机器学习模型,1≤cn≤cn,cn为所述二值图像中的字符数目;

第一选取单元,用于从所述机器学习模型群组中的第2层机器学习模型集合中选取与第cn个子图像的字符类别对应的机器学习模型作为第二识别模型;

第二识别单元,用于使用所述第二识别模型对第cn个子图像进行识别,得到第cn个子图像的字体类别;

第二选取单元,用于从所述机器学习模型群组中的第3层机器学习模型集合中选取与第cn个子图像的字体类别对应的机器学习模型作为第三识别模型;

第三识别单元,用于使用所述第三识别模型对第cn个子图像进行识别,得到第cn个子图像的识别结果。

进一步地,所述图像增强模块可以包括:

第一计算单元,用于根据下式计算所述第一灰度图像的灰度分布的第一概率密度:

其中,p(k)为第k级灰度分布的第一概率密度,0≤k≤l,l为灰度等级的级数,nk为第k级灰度的像素点个数,n为像素点总数;

第二计算单元,用于根据下式计算所述第一灰度图像的灰度分布的第二概率密度:

其中,q为灰度扩展因子,且0<q<1,pmax为第一概率密度的最大值,即:pmax=max(p(1),p(2),...,p(k),...,p(l)),max为求最大值函数,q(k)为第k级灰度分布的第二概率密度;

第三计算单元,用于根据下式对所述第一灰度图像进行图像增强处理:

其中,floor为向下取值函数,f(k)为第k级灰度在图像增强处理后的灰度值。

进一步地,所述二值化模块可以包括:

区分度计算单元,用于遍历各个二值化阈值,并根据下式分别计算使用各个二值化阈值对所述第二灰度图像进行二值化处理时,第一类像素点与第二类像素点之间的区分度:

其中,所述第一类像素点为灰度值大于或等于二值化阈值的像素点,fstnum为所述第一类像素点的数目,fn为所述第一类像素点的序号,1≤fn≤fstnum,greyfn为第fn个第一类像素点的灰度值,fstratio为所述第一类像素点的比例系数,fstave为所述第一类像素点的平均灰度值,所述第二类像素点为灰度值小于二值化阈值的像素点,sndnum为所述第二类像素点的数目,sn为所述第二类像素点的序号,1≤sn≤sndnum,greysn为第sn个第二类像素点的灰度值,sndratio为所述第二类像素点的比例系数,sndave为所述第二类像素点的平均灰度值,greyave为所述第二灰度图像的平均灰度值,var为所述第一类像素点与所述第二类像素点之间的区分度;

二值化处理单元,用于将所述区分度取得最大值时所对应的二值化阈值确定为最优阈值,并使用所述最优阈值对所述第二灰度图像进行二值化处理,得到所述图形验证码的二值图像。

进一步地,所述字符定位模块可以包括:

数目统计单元,用于分别统计在使用所述最优阈值对所述第二灰度图像进行二值化处理时,所述第一类像素点的数目和所述第二类像素点的数目;

第一判定单元,用于若所述第一类像素点的数目大于所述第二类像素点的数目,则将所述第一类像素点确定为背景像素点,将所述第二类像素点确定为目标像素点;

第二判定单元,用于若所述第一类像素点的数目小于所述第二类像素点的数目,则将所述第一类像素点确定为目标像素点,将所述第二类像素点确定为背景像素点;

目标行确定单元,用于分别计算所述二值图像中各个像素行的目标像素点数目与背景像素点数目之间的第一比值,并将所述第一比值大于预设的比值阈值的像素行确定为字符所占用的目标行;

目标列确定单元,用于分别计算所述二值图像中各个像素列的目标像素点数目与背景像素点数目之间的第二比值,并将所述第二比值大于所述比值阈值的像素列确定为字符所占用的目标列;

字符定位单元,用于根据所述目标行和所述目标列对所述二值图像中的各个字符进行定位。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图7示出了本发明实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。

在本实施例中,所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备7可包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机可读指令72,例如执行上述的图形验证码识别方法的计算机可读指令。所述处理器70执行所述计算机可读指令72时实现上述各个图形验证码识别方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器70执行所述计算机可读指令72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至605的功能。

示例性的,所述计算机可读指令72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令72在所述终端设备7中的执行过程。

所述处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其它通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机可读指令以及所述终端设备7所需的其它指令和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1