作者f496328mm (123)
看板Python
标题[心得] 分享 台铁验证码辨识/转文字 package
时间Sun Feb 17 22:35:25 2019
https://github.com/linsamtw/TaiwanTrainVerificationCode2text
分享我开发的 package,台铁验证码( 辨识 )转文字
可直接 pip3 install TaiwanTrainVerificationCode2text
提供各位开发程式订票,其中验证码破解部分的方法,可直接使用此 package 辨识,不
须再回传 image 用人工方式辨识。
test data 准确率约为 88%,使用 10 万张图进行 training
----------------------------------------------------------
demo :
input
https://imgur.com/aCmz45y.jpg

output
WNBA8S
---------------------------------------------------------
使用方法如下
import os
from TaiwanTrainVerificationCode2text import verification_code2text
from TaiwanTrainVerificationCode2text import work_vcode
from TaiwanTrainVerificationCode2text import download
import TaiwanTrainVerificationCode2text
PATH = TaiwanTrainVerificationCode2text.__path__[0]
import cv2
import matplotlib.pyplot as plt
import random
# 下载我 train 好的 weight,ttf 是验证码字形,用於以下生成模拟验证码
download.weight()
download.ttf()
# 生成模拟验证码
work_vcode.work_vcode_fun(10,'test_data',5)
work_vcode.work_vcode_fun(10,'test_data',6)
file_path = '{}/{}/'.format(PATH,'test_data')
train_image_path = [file_path + i for i in os.listdir(file_path+'/')]
# 随机取一个当作 demo
image_name = train_image_path[random.sample(range(len(train_image_path)),1)[0]]
# 读取图片
image = cv2.imread(image_name)
# 画图
plt.imshow(image)
# 辨识,验证码转文字
text = verification_code2text.main(image)
# 印出最後结果
print(text)
ps : 使用 keras 进行建模预测,并将 train 好的 weight 提供下载使用
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.233.85.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1550414128.A.575.html
1F:推 vi000246: 感谢佛心大大分享 02/17 23:46
2F:推 alan23273850: 乾 真猛 谢谢大大分享 祝楼主一生平安 02/18 00:35
3F:→ alan23273850: 题外话一下,我两三年前有尝试用底层 http protocol 02/18 00:36
4F:→ alan23273850: 自动化流程,可是在那不久之後台铁就用 javascript 02/18 00:38
5F:→ alan23273850: 混淆器把流程打乱了,现在一直都没时间修改 02/18 00:38
6F:→ alan23273850: 有大大有这边 http protocol 的成功经验吗 02/18 00:41
程式订票吗? 用 requests or selenium 可以实现,selenium 会比较简单
※ 编辑: f496328mm (118.233.85.190), 02/18/2019 00:52:53
7F:推 nini200: 感谢分享 立马学习 02/18 00:59
8F:推 alan23273850: 谢谢大大回覆,我原本也想用 selenium,可是那个时 02/18 11:50
9F:→ alan23273850: 候是做成手机App,在Android上好像不适用selenium, 02/18 11:52
10F:→ alan23273850: 不然我再 survey 看看好ㄌ 02/18 11:52
11F:→ alan23273850: 如果把大大 python 的套件应用在 Android 上其实也 02/18 11:53
12F:→ alan23273850: 要花一番功夫。 02/18 11:53
我之前是用 fb chatbot 设计
fb 负责传递 订票需求(keyowrd)、资讯、订票成功截图
後端交给 python 处理
基本上手机 app 应该也是,有兴趣可以私信讨论
※ 编辑: f496328mm (60.248.26.145), 02/18/2019 12:51:43
13F:推 max0616: 感谢分享 02/18 13:03
14F:推 liquidbox: 02/19 20:06
15F:推 uukoQAQ: 谢谢分享 02/20 02:54
16F:嘘 XiaoLuu5566: 然後台铁会在改得更复杂 手动很难吗 02/20 11:22
17F:推 alan23273850: 坦白说这个要自动重覆订票才会有用啦 02/20 12:39
18F:→ alan23273850: 对我的project开发很有帮助真的 02/20 12:39