江苏省电子税务局中文点选验证码识别研究

最近突发奇想,想研究一下中文识别。因为之前研究过简单数字,字母类的识别,这种识别种类很少,数字就10个,字母顶多就26个。但是一到中文,常用字就有3000多个,数量级有了巨大提升。不知道传统的方法还是否有效,所以想研究一下。

于是找到了一个比较好的研究对象,江苏省电子税务局中文点选验证码。识别对象样例如下:

由于从来没有接触过中文识别,所以我首先百度了一下,有没有现成的,可以直接调用的,免费的识别方法。

ddddocr(带带弟弟OCR)首先进入了我的视野,根据介绍这是一个非常不错的通用识别,不仅可以识别数字,还可以识别中文。我看别人的测试,识别极验的中文点选效果非常好。于是我马上进行测试,效果不是很好。

这是 ddddocr 的识别效果,5个汉字就对了1个,完全不能使用的状态。看样子一个模型只针对一种识别,应该是我的图片和他的训练样本差异太大,所以效果不好。

解决办法

只有自己针对性的训练这一个中文识别了。

第一步:标记数据

这是一项非常枯燥的工作,必须非常有耐心才行,我一个人标记了两个月。

第二步:搭建模型、训练模型

首先划分训练集与测试集,训练集取90%数据量,测试集取10%数据量。我这里首先对图片预处理,去除颜色等无效特征,让文字更加清晰。最后构建深度学习神经网络训练这些数据。

第三步:测试验证

训练好的模型测试集ACC可以达到95%。识别效果如下:

识别代码如下:

__author__ = "dengxinyan"import requests
import base64
from PIL import Image
from io import BytesIO#PIL图片保存为base64编码
def PIL_base64(img, coding='utf-8'):img_format = img.formatif img_format == None:img_format = 'JPEG'format_str = 'JPEG'if 'png' == img_format.lower():format_str = 'PNG'if 'gif' == img_format.lower():format_str = 'gif'if img.mode == "P":img = img.convert('RGB')if img.mode == "RGBA":format_str = 'PNG'img_format = 'PNG'output_buffer = BytesIO()# img.save(output_buffer, format=format_str)img.save(output_buffer, quality=100, format=format_str)byte_data = output_buffer.getvalue()base64_str = 'data:image/' + img_format.lower() + ';base64,' + base64.b64encode(byte_data).decode(coding)return base64_str# 接口地址
url = "https://www.detayun.cn/tool/verify_code_identify/"
# 请求头,需要使用自己的Cookie
header = {"Host": "www.detayun.cn","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0","Accept": "application/json, text/javascript, */*; q=0.01","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate, br","Referer": "https://www.detayun.cn/tool/verifyCodeIdentifyPage/?verify_idf_id=15&_=1662691208701","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With": "XMLHttpRequest","Content-Length": "66159","Origin": "https://www.detayun.cn","Connection": "keep-alive","Cookie": 'Hm_lvt_3eecc7feff77952670b7c24e952e8773=1662376740,1662514492,1662616792,1662642119; token="MTY2MjY5NDgxNS45MzY1NTczOjA2NGU2NzM0M2ZiY2Z0ODRiN2U4MmJkMzFjOTZmNDI4ZWRmYThiZWE="; sessionid=nyqsx4g4h2uvjh1xxuyvmcl5cuob4vqe',"TE": "Trailers",
}
# 请求参数
data = {'verify_idf_id':'15','img_base64': None, #需要识别的图片'words':'润疲狗',  # 需要识别的文字'_':'1662691244530'
}
# 打开需要识别的图片
img = Image.open(r'E:\Python\learning\江苏省电子税务局验证码\big_img\1657696065-润疲狗.jpg')
# 图片转为base64格式
img_base64 = PIL_base64(img)
# 配置图片到请求参数中
data['img_base64'] = img_base64# 发送请求
response = requests.post(url=url, headers=header, data=data)response_data = response.json()
if response_data['code'] == 200:print('文字坐标:',response_data['data']['res_str'])
else:print('请完成登录,登录地址:https://www.detayun.cn')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251516.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

全国税收调查系统服务器的url地址,天津市电子税务局税收统计调查数据采集操作流程说明...

税收统计调查数据采集 按照此路径找到重点税源登录天津市电子税务局“我要办税->税费申报及缴纳->申报辅助信息报告->税收统计调查数据采集”。 以18年为例进入到税收调查任务界面。选择2018年度全国税收调查。 1确认报表期 选择应该填写的报表期,点击在线…

税务服务器管理系统登不上,网上税务局登录失败解决方案

近日,有不少纳税人在使用网报系统时无法登陆,不要着急,小编在此教您三步走: 第一步:还原高级设置 点开您所用浏览器的选项页面,点击红框工具,然后点击黄框internet选项。 依照以上操作&#xff…

电子税务局网上申报系统弹出Acrobat错误的解决方法

今天财务部门同事在电子税务局网上申报系统提交时出现了“Acrobat不允许连接至”的错误,如下图所示: 1。首先关闭网页,然后打开Adobe Acrobat,在菜单栏点击【编辑】--【首选项】,如下图所示: 2。在左侧“种…

网上报税流程

(一)网上报税地址 登陆济南市地方税务局网站: www.jnds.gov.cn 。点击导航栏中的网上报税,进入网上报税登陆界面。 (二)登录: 操作:输入纳税人识别号、密码、校验码(小写…

全国增值税发票查验平台 | 免验证码

国家税务总局全国增值税发票查验平台 众所周知,发票查验有一个肉眼难以辨认的验证码,今天推荐给各位的是国税总局发票查验的免码接口,目前支持全发票种类,你们看到的没错,是全发票种类,市面上的API接口也不…

国税怎么用计算机代码报税页面,自然人电子税务局网页端操作流程如下

原标题:自然人电子税务局网页端操作流程如下 享受暂缓缴纳个税政策的个体工商户注意啦,应该在2021年1月1日至1月20日期间,缴纳2020年依据规定缓缴的经营所得个人所得税。跟着小编一起往下看吧! 一、政策依据 根据国家税务总局2020年10号公告&…

增值税电子发票的对接系统的设计

一 序 发票一直以来是都是跟以票控税相关的,没有严格的去搜下书面的定义,从百度百科上摘一段: 发票在我国社会经济活动中具有极其重要的意义和作用。 1.发票具有合法性、真实性、统一性、及时性等特征,是最基本的会计原始凭证之…

Python入门(十五)函数(三)

函数(三) 1.返回值1.1 返回简单值1.2 让实参变成可选的1.3 返回字典1.4 结合使用函数和while循环 作者:Xiou 1.返回值 函数并非总是直接显示输出,它还可以处理一些数据,并返回一个或一组值。函数返回的值称为返回值。…

Photoshop使用教程 如何在线抠图

PS软件已经越来越普及,不管是拍什么类型的照片都少不了修图,而PS是相较易操作而且很专业的一个PS软件,但是很多人可能在电脑上无法安装Photoshop软件,遇到这样的问题应该怎么办呢?今天小编和大家一起看看没有Photoshop…

花33元租号玩2小时王者荣耀,居然还有这样的App

梦晨 发自 凹非寺量子位 报道 | 公众号 QbitAI 史上最严防沉迷规定的第一周,已经有小学生租号玩王者荣耀了。 据央视新闻曝光,租一个等级高、皮肤多的账号玩2小时就要花费33元。 而且不是店家发账号密码给你登录这么简单。 拍下账号后得到的是一串解锁码…

计算机游戏软件使用说明书,虚贝游戏上号器怎么用 使用方法详解

虚贝上号器是专为虚贝租号平台打造的上号软件,可以方便的进行选号下单、商品收藏、订单管理等功能,帮助您实现电脑游戏租赁后的自动登录,下面就跟小编一起了解下具体用法吧。 第一步 注册并登录 下载安装,并注册一个虚贝网帐号并登…

网路安全技能竞赛——【Linux操作系统渗透提权】解析(超级详细)

Linux操作系统渗透提权 任务环境说明: 服务器场景:Server2202(关闭链接)用户名:hacker 密码:123456 使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;…

数据挖掘学习(三)——文本挖掘

笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为…

七种方法计算文本相似度方法

简单讲解 基于关键词的空间向量模型的算法,将用户的喜好以文档描述并转换成向量模型,对商品也是这么处理,然后再通过计算商品文档和用户偏好文档的余弦相似度。 文本相似度计算在信息检索、数据挖掘、机器翻译、文档复制检测等领域有着广泛…

java基础知识点总结

java基础知识点总结 文章目录 java基础知识点总结一、JDK常用的包二、Get和Post的区别三、Java多态的具体体现四、StringBuffer StringBuilder String 区别五、Hashtable与HashMap的区别六、九大隐式对象七、Forword(请求转发)与Redirect(重定向)八、JQurey总结九、XML和Json的…

java学习进阶之路

一、下面是一个java学习路线图,以供参考 二、下面是java工作之路,以供参考: 三、下面给出阶段性细化需要掌握的技能: 1.第一阶段 2.第二阶段 3.第三阶段 4.第四阶段 5.第五阶段 四、更加细化的细节如下: 1&#xff1…

拓扑排序 php,数据结构与算法(周测7-拓扑排序和AOV网络)

判断题 1.AOE图的关键路径就是最长的路径 T F 2.AOE图的权值最大的边(活动)一定是关键活动。 T F 两条边相加可能比最大的边还要大。 3.在AOE-网工程中,减少任一关键活动上的权值后,整个工期也就会相应的减小。 T F 关键路径有多条时不一定。 4.AOE-网工程工期为关键活动上的…

Java字符串的处理

文章目录 本章学习要点 Java定义字符串(2种方式)直接定义字符串例 1 使用 String 类定义1. String()2. String(String original)3. String(char[ ]value)4. String(char[] value,int offset,int count) 小白如何使用Java API帮助文档?Java St…

华为java面试题

1、Java 常用集合及特点? List:ArrayList、LinkedList、Vector、Stack Set:LinkedSet、HashSet、TreeSet Queue->Deque->LinkedList。 Map:HashMap、LinkedHashMap、TreeMap Dictionary->HashTable->Properties…

快速排序基本思路(通俗易懂+例子)

快速排序 【内推】日常实习和社招也可以简历发送到我邮箱,长期接受简历,部门做搜索产品研发,主要php和go语言! 【2022百度提前批招聘】填写内推码可以免专业笔试,部门直接发起面试,有想去的部门可以发送简…