作者f496328mm (123)
看板DataScience
标题Fw: [心得] 分享 台铁验证码辨识/转文字 package
时间Sun Feb 17 22:56:02 2019
※ [本文转录自 Python 看板 #1SQN4mLr ]
作者: 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
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: f496328mm (118.233.85.190), 02/17/2019 22:56:02
1F:推 hn28082251: 推推 02/17 23:33
2F:→ Wush978: 小心违法 02/18 00:52
3F:→ Wush978: 我忘记是哪一条了,但是之前有印象做台铁验证码的OCR可能 02/18 00:54
4F:→ Wush978: 有触法之虞,建议低调 02/18 00:55
5F:推 jasonwu23: 了不起 我支持你 不论技术或分享的心都是 02/18 13:05
6F:推 sma1033: 认真有心帮助社群只能给推 02/21 11:40
7F:推 kwht: 推~感谢 05/07 10:53