汉字中文验证码点选识别匹配深度学习方法实现,达到商用级别
- 一、简介
- 1.1 需求分析
- 1.2 运行效果
- 1.3 性能指标
- 二、使用方法
- 2.1 源码运行
- 2.2 打包后运行
- 2.3 测试效果
- 三、项目下载
一、简介
1.1 需求分析
针对中文验证码进行识别,当出现以下验证码时,需要手动按照汉字的顺序,在上半部分的乱码中按照顺序点选出来。本项目通过深度学习的方法,自动识别,并按照白底汉字的顺序,返回上半部分图像中汉字的中心点坐标。
1.2 运行效果
如下图,会按照顺序返回汉字的中心点坐标
1.3 性能指标
a、在cpu上运行,i7的13代处理器上,平均每张耗时约0.069s。
b、在服务器上,那2核2g内存处理器,外部调用每张用时约0.2s。
c、准确率达到98%。
二、使用方法
项目目录结构如下:
运行方法三种,第一种是直接运行源码;第二种是打包完成之后,运行shell脚本(service.sh)运行项目;第三种是自己测试的时候的脚本,可以直接在代码里面修改路径即可。
2.1 源码运行
(1)安装所需要的依赖
pip install -r requirements.txt
(2)运行项目脚本:
python main.py
(3)发送请求调用脚本如下:
import requests
url = "你当前服务器的ip地址(比如:http://185.11.49.108:5000/)"
payload={"img":"你要检测的base64格式的图像"}
headders = {"content_type":"application/json"}
response = requests.request("POST",url,json=payload,headers=headers)
print(reponse.text)
返回的数据格式是json格式,里面包含每个汉字的坐标。
2.2 打包后运行
(1)安装pyinstaller:
pip install pyinstaller
(2)打包项目:
pyinstaller main.spec
(3)在终端中启动脚本命令如下:
#启动脚本
bash service.sh start
#停止脚本运行
#bash service.sh stop
#查看项目启动状态
#bash service.sh status
(4)发送请求调用脚本如下(和运行源码的执行一样):
import requests
url = "你当前服务器的ip地址(比如:http://185.11.49.108:5000/)"
payload={"img":"你要检测的base64格式的图像"}
headders = {"content_type":"application/json"}
response = requests.request("POST",url,json=payload,headers=headers)
print(reponse.text)
2.3 测试效果
前面两种方法是flask接口封装好了之后,直接调用,测试的话可以使用里面的test_model.py脚本测试效果,只需要修改读取图片的路径即可。
三、项目下载
本项目花费我一个月时间做完,效果和效率都很好,需要的请关注并私信我,或邮箱联系:1240893959@qq.com, 平时看邮箱比较多,一发我就能看到。