一种高精准度的数字彩统一化查票方法、系统及介质与流程

文档序号:29123237发布日期:2022-03-04 23:00阅读:340来源:国知局
一种高精准度的数字彩统一化查票方法、系统及介质与流程

1.本发明涉及数字彩查票技术领域,特别是涉及一种高精准度的数字彩统一化查票方法、系统及介质。


背景技术:

2.用户通常购买的数字彩均为纸质版彩票,而针对双色球和大乐透等数字彩,用户在开奖时需要将纸质版彩票上的信息与网上的数字信息进行逐一核对,进而查看是否中奖;上述方式极其的繁琐,查票的效率很低,用户的体验很差,故现有技术中,通过对用户所拍摄的纸质彩票图像进行文本识别,进而来核对用户的开彩信息,但因纸质彩票不易保存,且不同的用户所采用的拍摄设备不同,最终这种方法的局限性较大,对已经褶皱、破旧、折叠及弯曲后的彩票图像的识别精准度较低,同时对拍摄质量较差的彩票图像的识别精准度也较低,故现有的数字彩查票方法适用性较差、识别效率和识别精准度均较低,影响用户的体验。


技术实现要素:

3.本发明主要解决的是现有的数字彩查票方法适用性较差、识别效率和识别精准度均较低,影响了用户体验的问题。
4.为解决上述技术问题,本发明采用的一个技术方案是:提供一种高精准度的数字彩统一化查票方法,包括以下步骤:初始配置步骤:配置图像检测模型、特征基准图像、图像识别模型和动态解码算法,获取数字彩图像;文本识别步骤:基于所述图像检测模型和所述特征基准图像识别所述数字彩图像的图像特征,基于所述图像识别模型和所述图像特征对所述数字彩图像执行文本识别操作,得到数字彩文本;文本解码步骤:对所述数字彩文本执行重组操作,得到待解码文本;调用所述动态解码算法处理所述待解码文本,得到数字彩号码信息。
5.作为一种改进的方案,所述图像特征包括:第一特征、第二特征和第三特征;所述特征基准图像包括:第一热度基准图像、第二热度基准图像和第三热度基准图像;所述第一特征为:出现弯曲和倾斜的彩票图像类;所述第二特征为:出现并列文本紧密排布的彩票图像类;所述第三特征为:低文本概率值的彩票图像类;所述基于所述图像检测模型和所述特征基准图像识别所述数字彩图像的图像特征的步骤进一步包括:将所述数字彩图像输入至所述图像检测模型中,得到第一文本概率高斯热度图像;基于所述第一热度基准图像、所述第二热度基准图像和所述第三热度基准图像判断所述第一文本概率高斯热度图像的所述图像特征。
6.作为一种改进的方案,所述文本识别操作包括:第一操作、第二操作和第三操作;所述第一操作为:文本行定位操作;所述第二操作为:并列文本分割操作;所述第三操作为:
文本区域复检操作;所述数字彩文本包括:第一数字彩文本、第二数字彩文本和第三数字彩文本;所述基于所述图像识别模型和所述图像特征对所述数字彩图像执行文本识别操作,得到数字彩文本的步骤进一步包括:若所述第一文本概率高斯热度图像的所述图像特征中存在所述第一特征,则基于所述图像识别模型对所述数字彩图像执行所述第一操作,得到所述第一数字彩文本;若所述第一文本概率高斯热度图像的所述图像特征中存在所述第二特征,则基于所述图像识别模型对所述数字彩图像执行所述第二操作,得到所述第二数字彩文本;若所述第一文本概率高斯热度图像的所述图像特征中存在所述第三特征,则基于所述图像识别模型对所述数字彩图像执行所述第三操作,得到所述第三数字彩文本。
7.作为一种改进的方案,所述第一操作包括:基于所述第一文本概率高斯热度图像的热点分布情况生成若干文本定位框,识别若干所述文本定位框在所述第一文本概率高斯热度图像中分别对应的若干坐标信息;配置数组容器,设定排序方向和排列顺序;将若干所述文本定位框导入所述数组容器中,得到第一统计数组;根据若干所述坐标信息将所述第一统计数组中的若干所述文本定位框按照所述排序方向和所述排列顺序进行排序,得到第二统计数组;设置比对阈值,统计所述第二统计数组的子数据数值,若所述子数据数值大于所述比对阈值,则执行第一循环筛选操作;所述第一循环筛选操作包括:创建文本行空数组,将所述第二统计数组中的第一文本定位框转移至所述文本行空数组中,得到第一同文本行数组;设定第一筛选方向,基于所述第一同文本行数组和所述第一筛选方向执行左侧同行文本循环筛选操作,得到第二同文本行数组;设定第二筛选方向,基于所述第二同文本行数组和所述第二筛选方向,并采用与所述左侧同行文本循环筛选操作相同的操作逻辑执行右侧同行文本循环筛选操作,得到第三同文本行数组;执行所述第一循环筛选操作后,按照所述第三同文本行数组中的所述文本定位框对所述数字彩图像进行裁剪,得到若干第一裁剪图像,将若干所述第一裁剪图像输入至所述图像识别模型中进行预测处理,得到第一待排序文本;基于所述第三同文本行数组将所述第一待排序文本进行排序,得到所述第一数字彩文本;所述左侧同行文本循环筛选操作包括:创建左邻文本空数组,设定所述第一文本定位框为中心基准,并基于所述左邻文本空数组、所述第一筛选方向和所述中心基准执行左侧筛选步骤;所述左侧筛选步骤包括:将所述第二统计数组中与所述第一文本定位框同行且与所述第一筛选方向相匹配的第二文本定位框转移至所述左邻文本空数组,得到第一左侧同行数组;将所述第一左侧同行数组中与所述第一文本定位框的第一坐标信息的差值最小的第二坐标信息所对应的所述第二文本定位框转移至所述第一同文本行数组中位于所述第一文本定位框左侧的位置;设定所述第一同文本行数组中的所述第二文本定位框为所述中心基准,并回到所述左侧同行文本循环筛选操作。
8.作为一种改进的方案,所述第二操作包括:执行并列紧密分布文本判断步骤;
所述并列紧密分布文本判断步骤包括:设定第一文本概率基准阈值,将所述第一文本概率高斯热度图像中大于所述第一文本概率基准阈值的像素点的文本概率值调整为第一概率值,将所述第一文本概率高斯热度图像中不大于所述第一文本概率基准阈值的像素点的文本概率值调整为第二概率值,得到第一待转换高斯热度图像;对所述第一待转换高斯热度图像进行二值化处理,得到第一二值化图像;识别所述第一二值化图像中的第一闭合连通区域;设定第一像素点分布数量情况和第一比值;按行统计所述第一闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第一数据;将若干所述第一数据按行排序,得到第一连通文本数组;分析所述第一连通文本数组中若干所述第一数据的排布规律,得到第二像素点分布数量情况;识别所述第一闭合连通区域的宽度值和高度值,并计算所述高度值与所述宽度值的第二比值;若所述第二像素点分布数量情况与所述第一像素点分布数量情况相匹配或所述第二比值大于所述第一比值,则判断所述第一闭合连通区域中存在并列紧密分布文本;执行所述并列紧密分布文本判断步骤后,若所述第一闭合连通区域中存在所述并列紧密分布文本,则执行切割区域判断步骤;所述切割区域判断步骤包括:设定第二文本概率基准阈值,将所述第一文本概率高斯热度图像中大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第一概率值,将所述第一文本概率高斯热度图像中不大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第二概率值,得到第二待转换高斯热度图像;对所述第二待转换高斯热度图像进行所述二值化处理,得到第二二值化图像;识别所述第二二值化图像中的第二闭合连通区域;按行统计所述第二闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第二数据;将若干所述第二数据按行排序,得到第二连通文本数组;设定第一切割阈值和第二切割阈值;将所述第一连通文本数组中大于所述第一切割阈值的所述第一数据调整为第一切割值,将所述第一连通文本数组中小于所述第一切割阈值的所述第一数据调整为第二切割值,得到第一待计算数组;将所述第二连通文本数组中与所述第二切割阈值相匹配的所述第二数据调整为所述第二切割值,将所述第二连通文本数组中与所述第二切割阈值非匹配的所述第二数据调整为所述第一切割值,得到第二待计算数组;将所述第一待计算数组与所述第二待计算数组进行相乘计算,得到切割区域指示数组;分析所述切割区域指示数组中所述第一切割值和所述第二切割值的分布规律,得到切割区域;基于所述切割区域将所述第一二值化图像中的所述第一闭合连通区域进行切割,得到第三二值化图像;执行所述切割区域判断步骤后,将所述第三二值化图像转换为第二文本概率高斯热度图像,基于所述第二文本概率高斯热度图像的热点分布情况生成若干第三文本定位框;按照若干所述第三文本定位框对所述数字彩图像进行裁剪,得到若干第二裁剪图像,将若干所述第二裁剪图像输入至所述图像识别模型中进行预测处理,得到第二待排序文本;基于若干所述第三文本定位框在所述第二文本概率高斯热度图像中的排布规律将所述第
二待排序文本进行排序,得到所述第二数字彩文本。
9.作为一种改进的方案,所述第三操作包括:设定第一文本概率筛选阈值和第二文本概率筛选阈值,基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值对所述第一文本概率高斯热度图像进行划分,得到第一文本区域;基于所述第一文本概率筛选阈值设定第三文本概率筛选阈值,基于所述第二文本概率筛选阈值设定第四文本概率筛选阈值;基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值对所述第一文本区域进行划分,得到第二文本区域;基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值统计所述第二文本区域的第一文本个数;基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值统计所述第二文本区域的第二文本个数;设定个数比判定阈值,计算所述第一文本个数与所述第二文本个数的第一个数比,判断所述第一个数比是否小于所述个数比判定阈值,若小于,则设定所述第二文本区域为漏检区域;基于所述第一文本概率高斯热度图像中与所述漏检区域匹配的第一热度图像执行所述并列紧密分布文本判断步骤,得到关于所述第一热度图像的判断结果;若所述判断结果为所述漏检区域中不存在所述并列紧密分布文本,则基于所述漏检区域设定所述图像检测模型的文本检测概率值;基于所述文本检测概率值和所述图像检测模型对所述数字彩图像进行检测,得到第三文本概率高斯热度图像;基于所述第三文本概率高斯热度图像的热点分布情况生成若干第四文本定位框;按照若干所述第四文本定位框对所述数字彩图像进行裁剪,得到若干第三裁剪图像,将若干所述第三裁剪图像输入至所述图像识别模型中进行预测处理,得到第三待排序文本;基于若干所述第四文本定位框在所述第三文本概率高斯热度图像中的排布规律将所述第三待排序文本进行排序,得到所述第三数字彩文本。
10.作为一种改进的方案,所述重组操作包括:设定字符类型,将所述数字彩文本中与所述字符类型相匹配的字符去除,得到第一文本;设定彩种类别,基于所述彩种类别设定字符位,设定所述第一文本中与所述字符位对应的字符串为末位字符串;将所述第一文本中的所述末位字符串和所述第一字符位之后的字符去除,得到第二文本;设定重组顺序,按照所述重组顺序将所述第二文本中的字符进行排序,得到所述待解码文本。
11.作为一种改进的方案,所述动态解码算法对于所述待解码文本的处理逻辑包括:配置号码存放数组,设定第一字符排列规律;按照单字符单位将所述待解码文本进行分隔处理,得到第一待分析文本;判断所述第一待分析文本中的字符的第二字符排列规律是否与所述第一字符排列规律相匹配;若匹配,则将所述第一待分析文本中的字符置入所述号码存放数组中,得到所述数字彩号码信息;若非匹配,则按照双字符单位将所述待解码文本进行分隔处理,得到第二待分析文本;提取所述第二待分析文本中位于首位的第一字符串;设定所述末位字符串为所述第一字符串的前位字符串;将所述第一字符串进行倒序处理,得到第一倒序字符串;基于所述
彩种类别设定基准字符串;判断所述第一倒序字符串是否均小于所述前位字符串和所述基准字符串,若均小于,则将所述第一倒序字符串添加至所述号码存放数组中,并执行循环判断步骤。
12.本发明还提供一种高精准度的数字彩统一化查票方法的数字彩统一化查票系统,包括:初始配置模块、文本识别模块和文本解码模块;所述初始配置模块用于配置图像检测模型、特征基准图像、图像识别模型和动态解码算法,所述初始配置模块还用于获取数字彩图像;所述文本识别模块用于根据所述图像检测模型和所述特征基准图像识别所述数字彩图像的图像特征,所述文本识别模块基于所述图像识别模型和所述图像特征对所述数字彩图像执行文本识别操作,得到数字彩文本;所述文本解码模块用于对所述数字彩文本执行重组操作,得到待解码文本;所述文本解码模块调用所述动态解码算法处理所述待解码文本,得到数字彩号码信息。
13.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述高精准度的数字彩统一化查票方法的步骤。
14.本发明的有益效果是:1、本发明所述的高精准度的数字彩统一化查票方法,可以实现对包括但不限于褶皱、破旧、折叠及弯曲后的彩票图像进行高精准度的文本识别操作,同时本发明对拍摄质量较差的彩票图像也可以实现高精准度的文本识别,且本发明采用自主研发的解码算法,可面对各种样式的数字彩进行识别后文本的解码操作,整体适用范围极广、适用性极强且检测效率和检测精准度极高,弥补了现有技术的不足,具有极高的应用价值和市场价值。
15.2、本发明所述的数字彩统一化查票系统,可以通过初始配置模块、文本识别模块和文本解码模块的相互配合,进而实现对包括但不限于褶皱、破旧、折叠及弯曲后的彩票图像进行高精准度的文本识别操作,同时本发明对拍摄质量较差的彩票图像也可以实现高精准度的文本识别,且本发明采用自主研发的解码算法,可面对各种样式的数字彩进行识别后文本的解码操作,整体适用范围极广、适用性极强且检测效率和检测精准度极高,弥补了现有技术的不足,具有极高的应用价值和市场价值。
16.3、本发明所述的计算机可读存储介质,可以实现引导初始配置模块、文本识别模块和文本解码模块进行配合,进而实现对包括但不限于褶皱、破旧、折叠及弯曲后的彩票图像进行高精准度的文本识别操作,同时对拍摄质量较差的彩票图像也可以实现高精准度的文本识别,且可面对各种样式的数字彩进行识别后文本的解码操作,整体适用范围极广、适用性极强且检测效率和检测精准度极高,弥补了现有技术的不足,具有极高的应用价值和市场价值,并有效提高所述高精准度的数字彩统一化查票方法的可操作性。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前
提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例1所述高精准度的数字彩统一化查票方法的流程图;图2是本发明实施例1所述高精准度的数字彩统一化查票方法的具体流程示意图;图3是本发明实施例1所述第一热度基准图像的示意图;图4是本发明实施例1所述第二热度基准图像的示意图;图5是本发明实施例1所述第三热度基准图像的示意图;图6是本发明实施例2所述数字彩统一化查票系统的架构图。
具体实施方式
19.下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
20.在本发明的描述中,需要说明的是,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
22.实施例1本实施例提供一种高精准度的数字彩统一化查票方法,如图1~图5所示,包括以下步骤:s100、初始配置步骤,具体包括:s110、配置图像检测模型、特征基准图像、图像识别模型和动态解码算法,获取数字彩图像;具体的,所述特征基准图像包括:第一热度基准图像、第二热度基准图像和第三热度基准图像;在本实施例中,第一热度基准图像代表存在褶皱、弯折、倾斜的纸质彩票经过图像检测模型所得到的文本概率高斯热度图;第二热度基准图像代表存在上下排布紧密的文本的纸质彩票经过图像检测模型所得到的文本概率高斯热度图;第三热度基准图像代表纸质彩票经过图像检测模型所得到的存在部分区域文本概率较低的文本概率高斯热度图;对应的,在本实施例中,为了达到更好的适用性和灵活性,采用craft检测模型进行图像的检测,该模型的训练过程基于char级别,精准度和适用性远高于现有技术中心基于word级别的检测模型;在本实施例中,图像识别模型采用crnn+ctc搭建的识别模型,该模型中采用高斯模糊、随机旋转、对比度调整和图像拉伸调整的方式进行图像增强训练,同时,该模型采用公开的数据集,公开的数据集中数据的多样性较强,这进一步提高了图像识别模型的适用性和灵活性;对应的,初始配置完毕上述的模型和数据后,即可以开始相应的图像检测、文本识别和解码步骤。
23.s200、文本识别步骤,具体包括:s210、基于所述图像检测模型和所述特征基准图像识别所述数字彩图像的图像特征,基于所述图像识别模型和所述图像特征对所述数字彩图像执行文本识别操作,得到数字彩文本;对应的,数字彩图像即为待识别图像,故首先需要确认待识别图像的图像特征,之后根据图像特征采取不同的解决方案进行图像检测和文本识别;
具体的,所述图像特征包括:第一特征、第二特征和第三特征;所述第一特征为:出现弯曲和倾斜的彩票图像类;所述第二特征为:出现并列文本紧密排布的彩票图像类;所述第三特征为:低文本概率值的彩票图像类;在本实施例中,并列文本紧密排布意为数字彩中出现上下排字体间隔较小或数字彩中出现多个区域的字体扎堆存在的一种情况;低文本概率值的彩票图像类即代表经过图像检测模型检测后,发现原本数字彩中某区域是有字体的,但是检测出的高斯热度图像中该区域的文本概率值较低,显示没有字体,出现漏检的一种情况;具体的,将所述数字彩图像输入至所述图像检测模型中,得到第一文本概率高斯热度图像;基于所述第一热度基准图像、所述第二热度基准图像和所述第三热度基准图像判断所述第一文本概率高斯热度图像的所述图像特征;在本实施例中,见图3~图5,分别给出了第一热度基准图像、第二热度基准图像和第三热度基准图像的示意图;具体的,所述文本识别操作包括:第一操作、第二操作和第三操作;所述第一操作为:文本行定位操作;所述第二操作为:并列文本分割操作;所述第三操作为:文本区域复检操作;所述数字彩文本包括:第一数字彩文本、第二数字彩文本和第三数字彩文本;对应的,第一操作是用于解决第一文本概率高斯热度图像中出现了第一特征的情况,第二操作是用于解决第一文本概率高斯热度图像中出现了第二特征的情况,第三操作是用于解决第一文本概率高斯热度图像中出现了第三特征的情况;对应的,在本实施例中,包括但不限于第一文本概率高斯热度图像中同时出现第一特征、第二特征和第三特征、同时出现第一特征和第二特征、同时出现第一特征和第三特征、同时出现第二特征和第三特征、单独出现第一特征、单独出现第二特征、单独出现第三特征等多种情况;而针对出现何种特征的情况执行相应的文本识别操作即可;具体的,若所述第一文本概率高斯热度图像的所述图像特征中存在所述第一特征,则基于所述图像识别模型对所述数字彩图像执行所述第一操作,得到所述第一数字彩文本;对应的,因出现第一特征时,代表数字彩的号码区域中可能出现向上弯曲、向下弯曲、向上倾斜、向下倾斜、波浪形弯曲等形式,故进行图像检测和文本识别时,难点在于可能将不同行的文本识别为同一行,这就导致了文本的识别错误,降低了精准度,故本实施例中针对此方面,通过第一次操作来将出现第一特征情况下的第一文本概率高斯热度图像所对应的数字彩图像中的号码进行同行文本校正识别,使识别出的文本以及文本所处的行位置均与数字彩的纸质彩票上一致;所述第一操作包括:第一操作中,均基于数组整理的形式,来解决同行文本整理的问题;因第一文本概率高斯热度图像中会将原数字彩图像中存在文本的位置显示为热点,故基于所述第一文本概率高斯热度图像中的热点的分布情况可以生成若干文本定位框,后续通过该若干文本定位框对原数字彩图像进行裁剪分割排序即可实现文本行的校正;故识别若干所述文本定位框在所述第一文本概率高斯热度图像中分别对应的若干坐标信息;该坐标信息即为以第一文本概率高斯热度图像设定对应的坐标网格,划分单位均以向量为单位,设计x轴和y轴,进而生成与第一文本概率高斯热度图像中各个文本定位框相匹配的坐标网格,任意单位的文本定位框可用(x,y)的坐标信息进行定位;配置数组容器,该数组容器为空数组,用于存放数据形成新数组;设定排序方向和排列顺序,在本实施例中排序方向设定为y轴方向,排列
顺序设定为从小到大排序;将若干所述文本定位框导入所述数组容器中,得到第一统计数组;根据若干所述坐标信息将所述第一统计数组中的若干所述文本定位框按照所述排序方向和所述排列顺序进行排序,得到第二统计数组,该第二统计数组中的若干文本定位框即为根据若干文本定位框所对应的坐标信息的y轴向量值进行从小到大排序后的数组;设置比对阈值,在本实施例中,比对阈值为0,则统计所述第二统计数组的子数据数值,若所述子数据数值大于所述比对阈值,则执行第一循环筛选操作;对应的,循环筛选操作需要循环执行多次,直至第二统计数组每一行都被确认整理出来;所述第一循环筛选操作包括:创建文本行空数组,该文本行空数组同样为空数组用于存放同行的文本;将所述第二统计数组中的第一文本定位框转移至所述文本行空数组中,得到第一同文本行数组;在本实施例中,第一文本定位框为第二统计数组中靠左的第一个文本定位框;该循环筛选操作的主要原理为,首先确认一个基准文本定位框,之后根据向量值来分别确认位于该基准文本定位框左侧的文本定位框和位于该基准文本定位框右侧的文本定位框,最后将位于该基准文本定位框左侧的文本定位框、基准文本定位框和位于该基准文本定位框右侧的文本定位框按顺序拼合,就会得到属于基准文本定位框同文本行的数据;故设定第一筛选方向,第一筛选方向为从基准文本定位框处向左筛选,基于所述第一同文本行数组和所述第一筛选方向执行左侧同行文本循环筛选操作,得到第二同文本行数组;第二同文本行数组为带有基准文本定位框和其左侧所有同行文本的数组;具体的,所述左侧同行文本循环筛选操作包括:创建左邻文本空数组,左邻文本空数组同样为空数组,用于存放中间关联数据,设定所述第一文本定位框为中心基准,并基于所述左邻文本空数组、所述第一筛选方向和所述中心基准执行左侧筛选步骤;具体的,所述左侧筛选步骤包括:将所述第二统计数组中与所述第一文本定位框同行且与所述第一筛选方向相匹配的第二文本定位框转移至所述左邻文本空数组,得到第一左侧同行数组;在本实施例中,第一文本定位框即为上述基准文本框;与所述第一筛选方向相匹配的第二文本定位框有很多,故需要在这些文本框中筛选出距离第一文本定位框最近距离的文本框,即为该第一文本定位框同行的左邻居;将所述第一左侧同行数组中与所述第一文本定位框的第一坐标信息的差值最小的第二坐标信息所对应的所述第二文本定位框转移至所述第一同文本行数组中位于所述第一文本定位框左侧的位置;与所述第一文本定位框的第一坐标信息的差值最小的第二坐标信息所对应的所述第二文本定位框即为该第一文本定位框左侧距离最近的左邻居;对应的,找到第一文本定位框的左邻居后,故需要再向左继续筛选,故设定所述第一同文本行数组中的所述第二文本定位框为所述中心基准,并回到所述左侧同行文本循环筛选操作,找到第二文本定位框的左邻居,直至第一文本定位框左侧同行的所有文本框都被移动至第一同文本行数组,得到带有基准文本定位框和其左侧所有同行文本的数组,即第二同文本行数组;对应的,按照左侧同行文本循环筛选操作的相同逻辑,即左侧筛选步骤的相同逻辑,故设定第二筛选方向,第一筛选方向为从基准文本定位框处向右筛选,故基于所述第二同文本行数组和所述第二筛选方向,并采用与所述左侧同行文本循环筛选操作相同的操作逻辑执行右侧同行文本循环筛选操作,得到第三同文本行数组;第三同文本行数组为带有基准文本定位框、基准文本定位框左侧所有同行文本以及基准文本定位框右侧所有同行文本的数组;
具体的,右侧同行文本循环筛选操作包括:创建右邻文本空数组,设定所述第一文本定位框为中心基准,并基于所述右邻文本空数组、所述第二筛选方向和所述中心基准执行右侧筛选步骤;所述右侧筛选步骤包括:将所述第二统计数组中与所述第一文本定位框同行且与所述第二筛选方向相匹配的第二文本定位框转移至所述右邻文本空数组,得到第一右侧同行数组;将所述第一右侧同行数组中与所述第一文本定位框的第一坐标信息的差值最小的第二坐标信息所对应的所述第二文本定位框转移至所述第二同文本行数组中位于所述第一文本定位框右侧的位置;设定所述第二同文本行数组中的该第二文本定位框为所述中心基准,并回到所述右侧同行文本循环筛选操作,循环执行后,最终得到所述第三同文本行数组;最终,执行所述第一循环筛选操作后,按照所述第三同文本行数组中的所述文本定位框对所述数字彩图像进行裁剪,得到若干第一裁剪图像,将若干所述第一裁剪图像输入至所述图像识别模型中进行预测处理,得到第一待排序文本;基于所述第三同文本行数组将所述第一待排序文本进行排序,得到所述第一数字彩文本,该第一数字彩文本即经过图像检测和文本识别后相对于数字彩图像上各个号码的文本信息,后续需要通过本方法中的解码操作对该第一数字彩文本进行解码,进而得到一个更加精准的数字彩号码信息;对应的,本第一操作中,循环筛选操作是根据数字彩图像中的行数进行循环迭代执行的,左侧同行文本循环筛选操作和右侧同行文本循环筛选操作是根据每行文本的数量进行循环迭代执行的,通过第一操作,最大程度的解决了出现倾斜、弯曲情况的数字彩图像的检测和文本识别,提高了本方法的适用性和灵活性;对应的,本第一操作的部分核心实现代码如下:def find_left(current_stat, stats, row_data ):"""为current_stat 找左邻居节点""";if len(stats) 》 0:"""创建空的数组left_stats""";left_stats = []"""遍历数组,为了找到满足与当前current_stat条件的所有左侧数据""";for stat in stats:"""如果stat 满足加入同行的条件,才将其加入到left_stats中;这里判断细节逻辑省略""";left_stats.append(stat)if len(left_stats) 》 0:""" 最近的左邻居""";neighbour_stat = sorted(left_stats, key=lambda x: x[0], reverse=true)[0]""" 判断 左邻居是否符合规定,如果满足条件,则表示通过;这里过滤细节逻辑省略""";is_accept = trueif is_accept:
"""在列表中清除左节点""";stats.pop(stats.index(neighbour_stat))""" 该行数据中添加左节点""";row_data.append(neighbour_stat)"""递归调用 一直找到满足条件的左节点""";find_left(neighbour_stat, stats, row_data)若所述第一文本概率高斯热度图像的所述图像特征中存在所述第二特征,则基于所述图像识别模型对所述数字彩图像执行所述第二操作,得到所述第二数字彩文本;对应的,因各个省份的彩票号码的排布方式不同,而有些彩票为了节省空间,会设计号码之间的间距特别小,故导致所有的号码扎堆,这将会导致第一文本概率高斯热度图像的文本定位框区域较大其中一个区域可能包含多个热点即多个文本,故需要对该区域进行分割,并符合原本数字彩图像中的文本排布规律;对应的,这种情况的分割难度是很大的,而通过本实施例中的第二操作,即可找到这些号码扎堆的区域并进行精准的切割,进而实现这种情况下对于文本的精准定位和识别;具体的,所述第二操作包括:首先,需要判断第一文本概率高斯热度图像中文本区域是否存在上下紧密连接的情况,因有些文本较大同样会导致第一文本概率高斯热度图像中文本区域显示较大,为了进一步提高检测精准度,故执行并列紧密分布文本判断步骤;所述并列紧密分布文本判断步骤包括:因文本概率高斯热度图像的显示概率是0~1之间,故每个热点即像素点越红,则代表该点为文本的概率越高,同时该文本概率值越接近1,故以此为出发点,进行图像文本区域的判定;首先需将第一文本概率高斯热度图像转换为二值化图像,便于分析和处理;故设定第一文本概率基准阈值,第一文本概率基准阈值在本实施例中用于对二值化图像中像素点的筛选,在本实施例中设置为0.5,具体情况具体设置;将所述第一文本概率高斯热度图像中大于所述第一文本概率基准阈值的像素点的文本概率值调整为第一概率值,将所述第一文本概率高斯热度图像中不大于所述第一文本概率基准阈值的像素点的文本概率值调整为第二概率值,得到第一待转换高斯热度图像;在本实施例中,第一概率值为1,第二概率值为0;对所述第一待转换高斯热度图像进行二值化处理,得到第一二值化图像;识别所述第一二值化图像中的第一闭合连通区域;第一闭合连通区域即为第一二值化图像中成块分布的各个连通域;设定第一像素点分布数量情况和第一比值;第一像素点分布数量情况为:闭合连通区域中每行概率值为1的像素点的数量的排布规律为两端小,中间多;第一像素点分布数量情况代表出现了文本上下紧密相连的情况;按行统计所述第一闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第一数据;第一数据即为第一闭合连通区域中文本概率值为所述第一概率值的数量的具体数值;将若干所述第一数据按行排序,得到第一连通文本数组;分析所述第一连通文本数组中若干所述第一数据的排布规律,得到第二像素点分布数量情况;识别所述第一闭合连通区域的宽度值和高度值,并计算所述高度值与所述宽度值的第二比值;对应的,如果连通区域正常,则不可能出现连通区域的高度值为宽度值两倍以上的情况,若出现了连通区域的高度值为宽度值两倍以上,则必然连通区域中出现了文本上下紧密排布的情况,故结合第一像素点分布数量情况和第二像素点分布
数量情况以及连通区域高宽比两种方式判断,极其精准的分辨出连通区域是否出现了文本上下紧密排布的情况;故若所述第二像素点分布数量情况与所述第一像素点分布数量情况相匹配或所述第二比值大于所述第一比值,则判断所述第一闭合连通区域中存在并列紧密分布文本;例如,第一连通文本数组为[1,5,12,8,5,1,3,11,8,4,2,0],则该第一连通文本数组所表现的第二像素点分布数量情况为两端小,中间多,先从左侧的1逐渐递增,然后递减,中间个数较多,之后再递增和递减,必然出现了上下文本紧密相连的情况;故执行所述并列紧密分布文本判断步骤后,若所述第一闭合连通区域中存在所述并列紧密分布文本,则执行切割区域判断步骤;所述切割区域判断步骤包括:因为第一闭合连通区域中存在所述并列紧密分布文本,故需要设定更高的文本概率基准阈值,对第一文本概率高斯热度图像再次进行像素点的筛选;故设定第二文本概率基准阈值,第二文本概率基准阈值一定保证大于第一文本概率基准阈值,在本实施例中,第二文本概率基准阈值设置为0.7;将所述第一文本概率高斯热度图像中大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第一概率值,将所述第一文本概率高斯热度图像中不大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第二概率值,得到第二待转换高斯热度图像;对所述第二待转换高斯热度图像进行所述二值化处理,得到第二二值化图像;识别所述第二二值化图像中的第二闭合连通区域;按行统计所述第二闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第二数据;将若干所述第二数据按行排序,得到第二连通文本数组;例如,根据上述举例,一开始的第一连通文本数组为[1,5,12,8,5,1,3,11,8,4,2,0],则根据该第一连通文本数组所对应的像素点分布情况下的连通区域所对应的第一文本概率高斯热度图像,按照第二文本概率基准阈值再次筛选后,得到的第二连通文本数组为[0,3,12,7,3,0,0,9,6,2,0,0],很明显的看出,第二连通文本数组所反映出的像素点分布情况是明显减少的;对应的,基于[1,5,12,8,5,1,3,11,8,4,2,0]和[0,3,12,7,3,0,0,9,6,2,0,0],执行以下操作,该操作为本方法自主设计的切割区域的计算算法:首先,设定第一切割阈值和第二切割阈值;在本实施例中,第一切割阈值为3,第二切割阈值为0;将所述第一连通文本数组中大于所述第一切割阈值的所述第一数据调整为第一切割值,第一切割值为1;将所述第一连通文本数组中小于所述第一切割阈值的所述第一数据调整为第二切割值,得到第一待计算数组,第二切割值为0;第一待计算数组即为[0,1,1,1,1,0,1,1,1,1,0,0];将所述第二连通文本数组中与所述第二切割阈值相匹配的所述第二数据调整为所述第二切割值,将所述第二连通文本数组中与所述第二切割阈值非匹配的所述第二数据调整为所述第一切割值,得到第二待计算数组;第二待计算数组即为[0,1,1,1,1,0,0,1,1,1,0,0];将所述第一待计算数组与所述第二待计算数组进行相乘计算,即[0,1,1,1,1,0,1,1,1,1,0,0]和[0,1,1,1,1,0,0,1,1,1,0,0]按每个数据的位置进行相乘,得到切割区域指示数组;切割区域指示数组为[0,1,1,1,1,0,0,1,1,1,0,0];根据该数组的计算,分析所述切割区域指示数组中所述第一切割值和所述第二切割值的分布规律,得到切割区域,很显然,切割区域为闭合连通区域的中间位置;故得到该切割区域后,对闭合连通区域进行切割,按照切割后的高斯热度图像进行文本框的定位、原数字彩图像的裁剪、图像的识别即可;故基于所述切割区域将所述第一二值化图像中的所述第一闭合连通区域进行切割,得到第三二值化图像;
执行所述切割区域判断步骤后,将所述第三二值化图像转换为第二文本概率高斯热度图像,基于所述第二文本概率高斯热度图像的热点分布情况生成若干第三文本定位框;按照若干所述第三文本定位框对所述数字彩图像进行裁剪,得到若干第二裁剪图像,将若干所述第二裁剪图像输入至所述图像识别模型中进行预测处理,得到第二待排序文本;基于若干所述第三文本定位框在所述第二文本概率高斯热度图像中的排布规律将所述第二待排序文本进行排序,得到所述第二数字彩文本;对应的,通过本第二操作,很大程度上解决了数字彩图像中出现文字扎堆分布或高斯热度图像中出现文字上下紧密相连的问题,又进一步提高了本方法检测的精准度以及本方法的适用性和灵活性;对应的,本第二操作的部分核心实现代码如下:""" 正常检测 是否文本 默认设置 》0.5 为文本区域""";
ꢀꢀꢀꢀ
ret, text_score = cv2.threshold(textmap, 0.5, 1, 0)""" 苛刻的文本检测,要求 》7 为文本区域""";
ꢀꢀꢀꢀ
_, harsh_text_score_comb = cv2.threshold(textmap, 0.7, 1, 0)"""生成连通区域""";
ꢀꢀꢀꢀ
nlabels, labels, stats, centroids = cv2.connectedcomponentswithstats(text_score.astype(np.uint8),connectivity=4)
ꢀꢀꢀꢀ
txt_up_down_num = 0"""遍历连通区域""";
ꢀꢀꢀꢀ
for k in range(1, nlabels):"""获取连通区域左上角坐标点,及长框信息""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
x, y = stats[k, cv2.cc_stat_left], stats[k, cv2.cc_stat_top]
ꢀꢀꢀꢀꢀꢀꢀꢀ
w, h = stats[k, cv2.cc_stat_width], stats[k, cv2.cc_stat_height]
ꢀꢀꢀꢀꢀꢀꢀꢀ
sx, ex, sy, ey = x, x + w, y, y + h"""高斯概率热图定位到连通区域上""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
sub_text_score = text_score[sy:ey, sx:ex]"""苛刻的文本检测区域""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
sub_harsh_text_score = harsh_text_score_comb[sy:ey, sx:ex]""" 统计针对未进行苛刻检测,每行是文本的个数""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
row_sum = np.sum(sub_text_score, axis=1)""" 统计针对进行苛刻检测,每行是文本的个数""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
harsh_row_sum = np.sum(sub_harsh_text_score, axis=1)""" 参数1: 设置上下连接点 占用的像素 0.75,超过 0.75 表示该行 基本上都是文字区域,那么可以确定是文字区域了""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
w1 = row_sum 《= int(max(row_sum) * 0.75)""" 针对 上下连接,如果是 严格判断,那么中间 肯定是有0 的""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
w2 = harsh_row_sum == 0"""确定分割区域""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
w = w1 * w2若所述第一文本概率高斯热度图像的所述图像特征中存在所述第三特征,则基于所述图像识别模型对所述数字彩图像执行所述第三操作,得到所述第三数字彩文本;对应的,因文本概率高斯热度图像中,颜色越红的区域,代表该区域中热点即像素点很大概率是文本,且文本概率值也越接近1,故根据相反的逻辑,文本概率高斯热度图像中,颜色越蓝的区域,代表该区域内热点即像素点是文本的概率越低,文本概率值也越接近0;对应的,第三特征的情况是图像中出现了很多文本概率值较低的区域,而为了进一步提高检测精准度,是可以想到在一些情况下,因检测模型或图像模糊度、分辨率的一些因素,会影响到检测结果,故为了避免原数字彩图像中是文本但在第一文本概率高斯热度图像中显示为较低文本概率值的情况,即为了解决第一文本概率高斯热度图像的图像特征中存在所述第三特征的问题,执行第三操作,主要原理为确认第一文本概率高斯热度图像中的漏检区域,进行再次检测;具体的,所述第三操作包括:设定第一文本概率筛选阈值和第二文本概率筛选阈值,基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值对所述第一文本概率高斯热度图像进行划分,得到第一文本区域;在本实施例中,基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值对所述第一文本概率高斯热度图像进行划分,得到第一文本区域;对应的,经过上述划分后,得到的该第一文本区域中的像素点必然满足以下情况:所有像素点的文本概率值都大于该第一文本概率筛选阈值,且存在一个任一像素点的文本概率值大于该第二文本概率筛选阈值;因为第一文本概率筛选阈值和第二文本概率筛选阈值的设定并不能随意进行调整,只要改变了第一文本概率筛选阈值和第二文本概率筛选阈值,则会对第一文本区域的确认产生影响,故需要一步一步的缩小文本区域,提高文本概率筛选阈值的精度,进而达到高精度文本区域的确认;首先,在本实施例中,设定第一文本概率筛选阈值为0.45;设定第二文本概率筛选阈值为0.75;根据上述值,生成的第一文本区域为初步的文本区域;之后进一步设置更低的文本概率筛选阈值,基于所述第一文本概率筛选阈值设定第三文本概率筛选阈值,第三文本概率筛选阈值必然小于第一文本概率筛选阈值,在本实施例中,第三文本概率筛选阈值为0.3;基于所述第二文本概率筛选阈值设定第四文本概率筛选阈值;第四文本概率筛选阈值必然小于第二文本概率筛选阈值,在本实施例中,第四文本概率筛选阈值为0.5;基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值对所述第一文本区域进行划分,得到第二文本区域;基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值对所述第一文本区域进行划分的原理与基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值对所述第一文本概率高斯热度图像进行划分的原理相同;对应的,第二文本区域为筛选条件更加苛刻的文本区域;后续需要判断的是该第二文本区域中是否真的存在文本;故基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值统计所述第二文本区域的第一文本个数;基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值统计所述第二文本区域的第二文本个数;设定个数比判定阈值,个数比判定阈值在本实施例中根据经验设定,在本实施例中,设定为0.7;计算所述第一文本个数与所述第二文本个数的第一个数比,判断所述第一个数比是否小于所述个数比判定阈值,若小于,则说明有文字漏检的情况,故设定所述第二文本区域为漏检区域;但是,由于如果
存在上下排文本紧密连接的情况,同时也是会出现第一个数比小于所述个数比判定阈值的情况的,故为了排除这种情况,需要根据第二操作中的并列紧密分布文本判断步骤来判断该漏检区域中是否存在上下排文本紧密连接的情况,故基于所述第一文本概率高斯热度图像中与所述漏检区域匹配的第一热度图像执行所述并列紧密分布文本判断步骤,得到关于所述第一热度图像的判断结果;若所述判断结果为所述漏检区域中存在所述并列紧密分布文本,则需要执行第二操作对上下并排相连的文本区域进行切割并在切割后进行相应的识别操作;若所述判断结果为所述漏检区域中不存在所述并列紧密分布文本,则说明确实存在漏检,故基于所述漏检区域设定所述图像检测模型的文本检测概率值;基于所述文本检测概率值和所述图像检测模型对所述数字彩图像进行检测,得到第三文本概率高斯热度图像;基于所述第三文本概率高斯热度图像的热点分布情况生成若干第四文本定位框;按照若干所述第四文本定位框对所述数字彩图像进行裁剪,得到若干第三裁剪图像,将若干所述第三裁剪图像输入至所述图像识别模型中进行预测处理,得到第三待排序文本;基于若干所述第四文本定位框在所述第三文本概率高斯热度图像中的排布规律将所述第三待排序文本进行排序,得到所述第三数字彩文本;对应的,通过本第三操作,在很大程度上解决了因检测模型或图像分辨率、清晰度、模糊度所造成的文本热度概率图像中存在文本漏检的情况,更进一步的提高了本方法的检测精准度以及本方法的适用性和灵活性,通过本方法中的步骤s200,完成了针对不同情况图形特征的处理操作,弥补了现有技术的不足;对应的,上述第一操作、第二操作和第三操作可以根据文本概率高斯热度图像中的图像特征情况进行相应的组合执行或变换执行;对应的,本第三操作的部分核心实现代码如下:"""表示所有点的概率值 必须大于该最低值""";
ꢀꢀꢀꢀ
weak_low_text = 0.3"""表示文本区域内部,必须存在一个值要大于该阈值""";
ꢀꢀꢀꢀ
weak_text_threshold = 0.5""" 微弱 文本 设置最低 》0.3 为文本区域""";
ꢀꢀꢀꢀ
_, weak_text_score_comb = cv2.threshold(textmap, weak_low_text, 1, 0)
ꢀꢀꢀꢀ
nlabels, labels, stats, centroids = cv2.connectedcomponentswithstats(weak_text_score_comb.astype(np.uint8),
ꢀꢀꢀꢀꢀꢀꢀ
connectivity=4)
ꢀꢀꢀꢀ
img_height = textmap.shape[0]
ꢀꢀꢀꢀ
weak_txt_points = []"""遍历使用低阈值生成的文本区域""";
ꢀꢀꢀꢀ
for k in range(1, nlabels):"""获取每一个文本区域""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
stat = stats[k]"""如果该区域小于给定weak_text_threshold,就过滤""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
if np.max(textmap[labels == k]) 《 weak_text_threshold:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
continue
ꢀꢀꢀꢀꢀꢀꢀꢀ
x, y, w, h = stat[cv2.cc_stat_left], stat[cv2.cc_stat_top], stat[cv2.cc_stat_width], stat[cv2.cc_stat_height]
ꢀꢀꢀꢀꢀꢀꢀꢀ
sx, ex, sy, ey = x, x + w, y, y + h"""根据定位框,定位text_score_comb,weak_text_score_comb二值化图区域""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
sub_text_score = text_score_comb[sy:ey, sx:ex]
ꢀꢀꢀꢀꢀꢀꢀꢀ
weak_sub_text_score = weak_text_score_comb[sy:ey, sx:ex]
ꢀꢀꢀꢀꢀꢀꢀꢀ
if np.sum(weak_sub_text_score) 》 0:"""统计sub_text_score,weak_sub_text_score文本的个数,计算占比""";s300、文本解码步骤,具体包括:s310、对所述数字彩文本执行重组操作,得到待解码文本;调用所述动态解码算法处理所述待解码文本,得到数字彩号码信息;对应的,本步骤的出发点在于,针对于各个样式的彩票,都有一种统一的解码方式,进而提高本方法的适用性和灵活性;对应的,经过反复的测试双色球图像通过识别模型后所得出的号码,发现可能出现如下问题:识别后的号码首末位都有可能存在序号标识;识别后的号码末位可能出现倍数标识;号码中小于10的号码有两种显示方式,例如,1可以显示为“1”也可以显示为“01”;一行号码中,存在没有连接符号和中文的情况;识别后的号码中可能存在数字丢失的情况;故针对这些问题,本方法采用重组操作结合动态解码算法进行数字彩号码的解码,最终实现极大的提高解码精准度;具体的,所述重组操作包括:设定字符类型,将所述数字彩文本中与所述字符类型相匹配的字符去除,得到第一文本;在本实施例中,字符类型设置为非数字字符类;第一文本为去除掉所有非数字字符后的文本,例如,若数字彩文本为a1311212532510倍,则第一文本为1311212532510;设定彩种类别,基于所述彩种类别设定字符位,设定所述第一文本中与所述字符位对应的字符串为末位字符串;在本实施例中,彩种类别为双色球;字符位为双色球红区的最后一个号码;故按照上述操作,1311212532510中得到的末位字符串为32,将所述第一文本中的所述末位字符串和所述第一字符位之后的字符去除,得到第二文本,即第二文本为13112125;设定重组顺序,按照所述重组顺序将所述第二文本中的字符进行排序,得到所述待解码文本;在本实施例中,重组顺序为倒序排序,得到的待解码文本为52121131;得到待解码文本后,进行动态解码算法处理即可;具体的,所述动态解码算法对于所述待解码文本的处理逻辑包括:首先,根据彩票中号码的排列规范,为了更加精确的进行解码,故需要确认待解码的下一位数字是单字符数字还是双字符数字,即确定待解码的下一位数字是一位数还是两位数;故配置号码存放数组,号码存放数组同为空数组,用于存放数据;设定第一字符排列规律;第一字符排列规律为剩余的号码按从左至右的顺序一个比一个小;对应的,第一字符排列规律同样根据彩种类别进行与彩种号码分布规律相匹配的适应性设置;在本实施例中,第一字符排列规律是符合当待解码的下一位数字是一位数的情况,故按照单字符单位将所述待解码文本进行分隔处理,得到第一待分析文本;判断所述第一待分析文本中的字符的第二字符排列规律
是否与所述第一字符排列规律相匹配;若匹配,则说明目前所得到的待解码号码符合彩种类别的要求,故将所述第一待分析文本中的字符置入所述号码存放数组中,得到所述数字彩号码信息;对应的,例如:第一待分析文本即为5 2 1 2 ;此时发现,到了第一待分析文本的第三字符位“1”是小于之前的第二字符位的“2”的,故说明该第一待分析文本是不符合彩种类别的要求的;同时,例如,若第一待分析文本为 3 1;则1小于3,故说明该“3 1”是符合上述第一字符排列规律的,故可将 3 1全部添加至号码存放数组中,得到所述数字彩号码信息;对应的,若非匹配,则说明目前所得到的待解码号码不符合彩种类别的要求,故待解码的下一位数字可能是两位数,故按照双字符单位将所述待解码文本进行分隔处理,得到第二待分析文本;故第二待分析文本为52 12 11 31;提取所述第二待分析文本中位于首位的第一字符串;故在本实施例中,第一字符串为52;基于所述彩种类别设定基准字符串,在本实施例中,基准字符串为彩种类别中所对应数字彩的最大号码,对应的,因本实施例中彩种类别为双色球,故所述基准字符串为33;设定所述末位字符串为所述第一字符串的前位字符串;将所述第一字符串进行倒序处理,得到第一倒序字符串,第一倒序字符串为25;判断所述第一倒序字符串是否小于其前面的一个号码,即前位字符串,也就是所述末位字符串,且判断第一倒序字符串是否同时还小于所述基准字符串,若均小于,即25小于32同时小于33,故符合要求,则将所述第一倒序字符串添加至所述号码存放数组中,并执行循环判断步骤;在本实施例中,循环判断步骤是进行迭代重复执行的,因上述第一倒序字符串添加至所述号码存放数组中后,第二待分析文本中还存在121131,故又需要重新进行分析选择,再次从“按照单字符单位将所述待解码文本进行分隔处理”的部分对121131进行处理,若121131符合第一字符排列规律,则将121131全部添加至号码存放数组,得到数字彩号码信息,然后结束循环;故若再进行到“按照双字符单位将所述待解码文本进行分隔处理”的部分,则以121131为例,得到的第一字符串应为12,进行倒序处理后,得到的第一倒序字符串为21,故21应小于其前面一个号码,即刚刚添加至所述号码存放数组的25,此时应把25设定为“所述前位字符串”;同时还应小于33,此时21是满足要求的,故需要将21添加至所述号码存放数组中,并再次循环,直至后续的1131全部添加至号码存放数组中后,得到最终的数字彩号码信息;对应的,如果上述两种情况下,都不存在满足条件的号码,则说明出现识别异常或解码异常需要终止进行报错;对应的,上述重组操作和动态解码算法在本实施例中应用于双色球的彩票玩法设置,对应的,应对不同的彩种类别,需要对重组操作和动态解码算法的逻辑流程进行适应性调整;通过本重组操作和动态解码算法,极大的提高了解码的正确率,更加便于用户进行数字彩查票,极大的提高了用户的体验感,弥补了现有技术的不足;对应的,本步骤s300的部分核心实现代码如下: :param last_number: 上一个号码 假设 32;
ꢀꢀꢀꢀ
:param loc: 当前指针 2;
ꢀꢀꢀꢀ
:param seq: 一组号码字符串 2352121131;
ꢀꢀꢀꢀ
:param res_seq: 最终解码""";"""根据指针取余下的字符串:52121131 """;
ꢀꢀꢀꢀ
left_seq = seq[loc:]
"""条件1,选择走一步,满足剩余的每一个号码是一个比一个小""";
ꢀꢀꢀꢀ
if all([left_seq[i] 》 left_seq[i + 1] for i in
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
range(len(left_seq)
ꢀ‑ꢀ
1)]):"""要求当前号码要小于上一个号码""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
if left_seq[0] 《 last_number:"""将所有的号码全部添加到数组中""";
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
res_seq.extend(left_seq)"""结束解码过程""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
return"""条件2:选择走2步""";
ꢀꢀꢀꢀ
double_number = int(str(seq[loc + 1]) + str(seq[loc]))"""1.当前号码必须小于双色球最大号码33;
ꢀꢀꢀꢀꢀꢀꢀ
2.当前号码必须要小于它前面一个号码""";
ꢀꢀꢀꢀ
if double_number 《= 33 and double_number 《 last_number:"""添加号码到数组中""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
res_seq.append(double_number)"""递归调用,位置走2步""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
generate_number(double_number, loc + 2, seq, res_seq)
ꢀꢀꢀꢀ
else:"""出现问题,直接结束""";
ꢀꢀꢀꢀꢀꢀꢀꢀ
return实施例2本实施例基于实施例1中一种高精准度的数字彩统一化查票方法的发明构思,进而提供一种高精准度的数字彩统一化查票系统,如图6所示,包括:初始配置模块、文本识别模块和文本解码模块;所述数字彩统一化查票系统中,初始配置模块用于配置图像检测模型、特征基准图像、图像识别模型和动态解码算法,所述初始配置模块还用于获取数字彩图像;具体的,所述特征基准图像包括:第一热度基准图像、第二热度基准图像和第三热度基准图像。
[0024]
所述数字彩统一化查票系统中,文本识别模块用于根据所述图像检测模型和所述特征基准图像识别所述数字彩图像的图像特征,所述文本识别模块基于所述图像识别模型和所述图像特征对所述数字彩图像执行文本识别操作,得到数字彩文本;具体的,所述图像特征包括:第一特征、第二特征和第三特征;所述第一特征为:出现弯曲和倾斜的彩票图像类;所述第二特征为:出现并列文本紧密排布的彩票图像类;所述第三特征为:低文本概率值的彩票图像类;所述文本识别操作包括:第一操作、第二操作和第三操作;所述第一操作为:文本行定位操作;所述第二操作为:并列文本分割操作;所述第三操作为:文本区域复检操作;所述数字彩文本包括:第一数字彩文本、第二数字彩文本和第三数字彩文本;具体的,文本识别模块将所述数字彩图像输入至所述图像检测模型中,得到第一
文本概率高斯热度图像;文本识别模块基于所述第一热度基准图像、所述第二热度基准图像和所述第三热度基准图像判断所述第一文本概率高斯热度图像的所述图像特征;具体的,若所述第一文本概率高斯热度图像的所述图像特征中存在所述第一特征,则文本识别模块基于所述图像识别模型对所述数字彩图像执行所述第一操作,得到所述第一数字彩文本;若所述第一文本概率高斯热度图像的所述图像特征中存在所述第二特征,则文本识别模块基于所述图像识别模型对所述数字彩图像执行所述第二操作,得到所述第二数字彩文本;若所述第一文本概率高斯热度图像的所述图像特征中存在所述第三特征,则文本识别模块基于所述图像识别模型对所述数字彩图像执行所述第三操作,得到所述第三数字彩文本;具体的,所述第一操作包括:文本识别模块基于所述第一文本概率高斯热度图像的热点分布情况生成若干文本定位框,并识别若干所述文本定位框在所述第一文本概率高斯热度图像中分别对应的若干坐标信息;文本识别模块配置数组容器,文本识别模块设定排序方向和排列顺序;文本识别模块将若干所述文本定位框导入所述数组容器中,得到第一统计数组;文本识别模块根据若干所述坐标信息将所述第一统计数组中的若干所述文本定位框按照所述排序方向和所述排列顺序进行排序,得到第二统计数组;文本识别模块设置比对阈值,并统计所述第二统计数组的子数据数值,若所述子数据数值大于所述比对阈值,则文本识别模块执行第一循环筛选操作;所述第一循环筛选操作包括:文本识别模块创建文本行空数组,并将所述第二统计数组中的第一文本定位框转移至所述文本行空数组中,得到第一同文本行数组;文本识别模块设定第一筛选方向,并基于所述第一同文本行数组和所述第一筛选方向执行左侧同行文本循环筛选操作,得到第二同文本行数组;文本识别模块设定第二筛选方向,并基于所述第二同文本行数组和所述第二筛选方向,文本识别模块采用与所述左侧同行文本循环筛选操作相同的操作逻辑执行右侧同行文本循环筛选操作,得到第三同文本行数组;具体的,文本识别模块执行所述第一循环筛选操作后,文本识别模块按照所述第三同文本行数组中的所述文本定位框对所述数字彩图像进行裁剪,得到若干第一裁剪图像,文本识别模块将若干所述第一裁剪图像输入至所述图像识别模型中进行预测处理,得到第一待排序文本;基于所述第三同文本行数组将所述第一待排序文本进行排序,得到所述第一数字彩文本;具体的,所述左侧同行文本循环筛选操作包括:创建左邻文本空数组,设定所述第一文本定位框为中心基准,并基于所述左邻文本空数组、所述第一筛选方向和所述中心基准执行左侧筛选步骤;具体的,所述左侧筛选步骤包括:将所述第二统计数组中与所述第一文本定位框同行且与所述第一筛选方向相匹配的第二文本定位框转移至所述左邻文本空数组,得到第一左侧同行数组;将所述第一左侧同行数组中与所述第一文本定位框的第一坐标信息的差值最小的第二坐标信息所对应的所述第二文本定位框转移至所述第一同文本行数组中位于所述第一文本定位框左侧的位置;设定所述第一同文本行数组中的所述第二文本定位框为所述中心基准,并回到所述左侧同行文本循环筛选操作;具体的,所述第二操作包括:文本识别模块执行并列紧密分布文本判断步骤;
所述并列紧密分布文本判断步骤包括:文本识别模块设定第一文本概率基准阈值,并将所述第一文本概率高斯热度图像中大于所述第一文本概率基准阈值的像素点的文本概率值调整为第一概率值,文本识别模块将所述第一文本概率高斯热度图像中不大于所述第一文本概率基准阈值的像素点的文本概率值调整为第二概率值,得到第一待转换高斯热度图像;文本识别模块对所述第一待转换高斯热度图像进行二值化处理,得到第一二值化图像;文本识别模块识别所述第一二值化图像中的第一闭合连通区域;文本识别模块设定第一像素点分布数量情况和第一比值;文本识别模块按行统计所述第一闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第一数据;文本识别模块将若干所述第一数据按行排序,得到第一连通文本数组;文本识别模块分析所述第一连通文本数组中若干所述第一数据的排布规律,得到第二像素点分布数量情况;文本识别模块识别所述第一闭合连通区域的宽度值和高度值,并计算所述高度值与所述宽度值的第二比值;若所述第二像素点分布数量情况与所述第一像素点分布数量情况相匹配或所述第二比值大于所述第一比值,则文本识别模块判断所述第一闭合连通区域中存在并列紧密分布文本;文本识别模块执行并列紧密分布文本判断步骤后,若所述第一闭合连通区域中存在所述并列紧密分布文本,则文本识别模块执行切割区域判断步骤;所述切割区域判断步骤包括:文本识别模块设定第二文本概率基准阈值,并将所述第一文本概率高斯热度图像中大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第一概率值,文本识别模块将所述第一文本概率高斯热度图像中不大于所述第二文本概率基准阈值的像素点的文本概率值调整为所述第二概率值,得到第二待转换高斯热度图像;文本识别模块对所述第二待转换高斯热度图像进行所述二值化处理,得到第二二值化图像;文本识别模块识别所述第二二值化图像中的第二闭合连通区域;文本识别模块按行统计所述第二闭合连通区域中文本概率值为所述第一概率值的数量,得到若干第二数据;文本识别模块将若干所述第二数据按行排序,得到第二连通文本数组;文本识别模块设定第一切割阈值和第二切割阈值;文本识别模块将所述第一连通文本数组中大于所述第一切割阈值的所述第一数据调整为第一切割值,并将所述第一连通文本数组中小于所述第一切割阈值的所述第一数据调整为第二切割值,得到第一待计算数组;文本识别模块将所述第二连通文本数组中与所述第二切割阈值相匹配的所述第二数据调整为所述第二切割值,并将所述第二连通文本数组中与所述第二切割阈值非匹配的所述第二数据调整为所述第一切割值,得到第二待计算数组;文本识别模块将所述第一待计算数组与所述第二待计算数组进行相乘计算,得到切割区域指示数组;文本识别模块分析所述切割区域指示数组中所述第一切割值和所述第二切割值的分布规律,得到切割区域;文本识别模块基于所述切割区域将所述第一二值化图像中的所述第一闭合连通区域进行切割,得到第三二值化图像;文本识别模块执行切割区域判断步骤后,文本识别模块将所述第三二值化图像转换为第二文本概率高斯热度图像,并基于所述第二文本概率高斯热度图像的热点分布情况生成若干第三文本定位框;文本识别模块按照若干所述第三文本定位框对所述数字彩图像进行裁剪,得到若干第二裁剪图像,文本识别模块将若干所述第二裁剪图像输入至所述图像识别模型中进行预测处理,得到第二待排序文本;文本识别模块基于若干所述第三文本定位框在所述第二文本概率高斯热度图像中的排布规律将所述第二待排序文本进行排序,
得到所述第二数字彩文本。
[0025]
具体的,所述第三操作包括:文本识别模块设定第一文本概率筛选阈值和第二文本概率筛选阈值,文本识别模块基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值对所述第一文本概率高斯热度图像进行划分,得到第一文本区域;文本识别模块基于所述第一文本概率筛选阈值设定第三文本概率筛选阈值,并基于所述第二文本概率筛选阈值设定第四文本概率筛选阈值;文本识别模块基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值对所述第一文本区域进行划分,得到第二文本区域;文本识别模块基于所述第三文本概率筛选阈值和所述第四文本概率筛选阈值统计所述第二文本区域的第一文本个数;文本识别模块基于所述第一文本概率筛选阈值和所述第二文本概率筛选阈值统计所述第二文本区域的第二文本个数;文本识别模块设定个数比判定阈值,并计算所述第一文本个数与所述第二文本个数的第一个数比,文本识别模块判断所述第一个数比是否小于所述个数比判定阈值,若小于,则文本识别模块设定所述第二文本区域为漏检区域;文本识别模块基于所述第一文本概率高斯热度图像中与所述漏检区域匹配的第一热度图像执行所述并列紧密分布文本判断步骤,得到关于所述第一热度图像的判断结果;若所述判断结果为所述漏检区域中不存在所述并列紧密分布文本,则文本识别模块基于所述漏检区域设定所述图像检测模型的文本检测概率值;文本识别模块基于所述文本检测概率值和所述图像检测模型对所述数字彩图像进行检测,得到第三文本概率高斯热度图像;文本识别模块基于所述第三文本概率高斯热度图像的热点分布情况生成若干第四文本定位框;文本识别模块按照若干所述第四文本定位框对所述数字彩图像进行裁剪,得到若干第三裁剪图像,文本识别模块将若干所述第三裁剪图像输入至所述图像识别模型中进行预测处理,得到第三待排序文本;文本识别模块基于若干所述第四文本定位框在所述第三文本概率高斯热度图像中的排布规律将所述第三待排序文本进行排序,得到所述第三数字彩文本。
[0026]
所述数字彩统一化查票系统中,文本解码模块用于对所述数字彩文本执行重组操作,得到待解码文本;所述文本解码模块调用所述动态解码算法处理所述待解码文本,得到数字彩号码信息;具体的,所述重组操作包括:文本解码模块设定字符类型,并将所述数字彩文本中与所述字符类型相匹配的字符去除,得到第一文本;文本解码模块设定彩种类别,并基于所述彩种类别设定字符位,设定所述第一文本中与所述字符位对应的字符串为末位字符串;文本解码模块将所述第一文本中的所述末位字符串和所述第一字符位之后的字符去除,得到第二文本;文本解码模块设定重组顺序,并按照所述重组顺序将所述第二文本中的字符进行排序,得到所述待解码文本。
[0027]
具体的,所述动态解码算法对于所述待解码文本的处理逻辑包括:文本解码模块配置号码存放数组,并设定第一字符排列规律;文本解码模块按照单字符单位将所述待解码文本进行分隔处理,得到第一待分析文本;文本解码模块判断所述第一待分析文本中的字符的第二字符排列规律是否与所述第一字符排列规律相匹配;若匹配,则文本解码模块将所述第一待分析文本中的字符置入所述号码存放数组中,得到所述数字彩号码信息;若非匹配,则文本解码模块按照双字符单位将所述待解码文本进行分隔处理,得到第二待分析文本;文本解码模块提取所述第二待分析文本中位于首位的第一字符串;文本解码模块设定所述末位字符串为所述第一字符串的前位字符串;文本解码模块将所述第一字符串进
行倒序处理,得到第一倒序字符串;文本解码模块基于所述彩种类别设定基准字符串;文本解码模块判断所述第一倒序字符串是否均小于所述前位字符串和所述基准字符串,若均小于,则文本解码模块将所述第一倒序字符串添加至所述号码存放数组中,并执行循环判断步骤。
[0028]
实施例3本实施例提供一种计算机可读存储介质,包括:所述存储介质用于储存将上述实施例1所述的高精准度的数字彩统一化查票方法实现所用的计算机软件指令,其包含用于执行上述为所述高精准度的数字彩统一化查票方法所设置的程序;具体的,该可执行程序可以内置在实施例2所述的数字彩统一化查票系统中,这样,数字彩统一化查票系统就可以通过执行内置的可执行程序实现所述实施例1所述的高精准度的数字彩统一化查票方法。
[0029]
此外,本实施例具有的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
[0030]
区别于现有技术,采用本技术一种高精准度的数字彩统一化查票方法、系统及介质可以通过本方法实现对包括但不限于褶皱、破旧、折叠及弯曲后的彩票图像进行高精准度的文本识别操作,同时本方法中的识别算法可以对拍摄质量较差的彩票图像也可以实现高精准度的文本识别,且本方法还采用了自主研发的解码算法,可面对各种样式的数字彩进行识别后文本的解码操作,本系统为本方法提供了有效的技术支撑,本发明整体适用范围极广、适用性极强且检测效率和检测精准度极高,弥补了现有技术的不足,具有极高的应用价值和市场价值。
[0031]
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0032]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0033]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1