用Tesseract训练验证码遇到的问题
1.准备验证码图片
import os
from urllib.request import urlretrieve urlPath='http://www.189.cn/portal/captcha/simple.do?date=1503125232339'
localPath='G:\python_work\chapter11\captcha' # 根据文件名创建文件
def createFileByFileName(localPath,fileName):
if not os.path.exists(localPath):
os.makedirs(localPath)
totalPath=localPath+'\\'+fileName
if not os.path.exists(totalPath):
file=open(totalPath, 'a+')
file.close()
return totalPath # 根据图片的地址, 下载图片并保存在本地
def getAndSaveImg(imgUrl, filename):
if(len(imgUrl)!=0):
file=filename+'.jpg'
urlretrieve(imgUrl, createFileByFileName(localPath, file)) # 下载图片
i=0
while i<100:
getAndSaveImg(urlPath, str(i))
i=i+1
2.将验证码图片转为灰度图 , 扩展名改为.tif
import os
from PIL import Image def getFileList(path):
# 返回目录中所有jpg图像的文件名列表
return [os.path.join(path, f) for f in os.listdir(path) if f.endswith('.jpg')] # 批量将图片转为灰度图
def patchConvert(srcPath, destPath):
fileList = getFileList(srcPath)
for file in fileList:
img = Image.open(file).convert('L')
name_ext = getFileNameAndExt(file)
destFile = os.path.join(destPath, name_ext[0]+'.tif')
img.save(destFile) # 获取文件名和扩展名
def getFileNameAndExt(filename):
# 取目录与文件名
(filepath, tempfilename) = os.path.split(filename)
# 取文件名(不带扩展名)和扩展名
(shotname, extension) = os.path.splitext(tempfilename)
return shotname, extension patchConvert('captcha', 'captcha_gray')
3. 后续步骤参考原先的博客:
http://www.cnblogs.com/CoolJayson/p/7395824.html
问题: 生成box文件后, 用jTessBoxEditor修改box文件时, 里面的矩形画的误差较大, 字符个数识别不准确 , 应该如何对矩形进行修改???
用Tesseract训练验证码遇到的问题的更多相关文章
- Tesseract训练中文字体识别
注:目前仅说明windows下的情况 前言 网上已经有大量的tesseract的识别教程,但是主要有两个缺点: 大多数比较老,有部分内容已经不适用. 大部分只是就英文的训练进行探索,很少针对中文的训练 ...
- tensorflow训练验证码识别模型
tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: ...
- Tesseract 对验证码的识别原理和实现步骤
一. Steps: 学习图片库--->处理图片(初步处理)--->校正.学习图片 二. Tesseract: 1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特 ...
- Tesseract训练笔记
[参考] http://www.cnblogs.com/samlin/p/Tesseract-OCR.html https://code.google.com/p/tesseract-ocr/wiki ...
- Tesseract训练
最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.c ...
- tesseract 训练
下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载地址:http://code.google.com/p/tesseract-ocr/d ...
- 跟我学算法- tensorflow 卷积神经网络训练验证码
使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来 ...
- tesseract训练手写体
前面的步骤都一样,从第4步开始 4.使用tesseract生成.box文件: tesseract eng.handwriting.exp0.tif eng.handwriting.exp0 -l en ...
- tesseract系列(3) -- tesseract训练
tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从 ...
随机推荐
- Luogu P3254 圆桌问题
题目链接 \(Click\) \(Here\) 水题.记得记一下边的流量有没有跑完. #include <bits/stdc++.h> using namespace std; const ...
- Luogu P4097 [HEOI2013]Segment 李超线段树
题目链接 \(Click\) \(Here\) 李超线段树的模板.但是因为我实在太\(Naive\)了,想象不到实现方法. 看代码就能懂的东西,放在这里用于复习. #include <bits/ ...
- 【清北学堂2018-刷题冲刺】Contest 2
这场比赛的T1相当智熄.由于至今无法理解题意,我只能解出前20分.诸位dalao谁能比较好地理解题意(独立性)的,请联系我,不胜感激. 在此本蒟蒻只能贴上题面: Task 1:选举 [问题描述] ...
- apache安装及相应配置
给公司装过环境,自己也装过自己的服务器环境.但是每次都是现谷歌,毕竟每个人遇到的问题都不一样,还是记录下,以防忘记 一.安装 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装 ...
- plsql无法正常显示汉字
首先执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINES ...
- MySQL 8.0X的安装与卸载命令
1,下载 https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.12-winx64.zip 2,解压 将mysql-8.0.12-winx64 ...
- java定时器实现总结
前言:Java定时器目前主要有3种实现方式:JDK组件,Spring Task,Quartz框架. 1. JDK组件(1) java.util.TimerTask MyTimerTask.java: ...
- vertica系列:时间相关函数
-- * 注意: 本文的SQL是在 2017-09-14 测试的. 所以如果取当前日期, 结果为 2017-09-14* ------------------------------ 相关数据类型 - ...
- CorelDrawX8安装时提示已安装另一个版本
(1)首先卸载VIsualC++ 2015 运行库. (2)如果有VisualC++ 2017运行库,卸载VisualC++2017运行库,即可.
- Spring AutoWire
AutoWire 有 ByType ,ByName两种主要使用方式 public class Boss { @Autowired private Car car; public Car getCar( ...