Tesseract_ocr 字符识别基础及训练字库、合并字库
字符训练网上一搜一大堆,但作为一个初学者而言,字符合并网上却写的很笼统
首先,需要 生成的字符集.tif文件,位置文件 .box ,只要有这两个文件在,就可以合并字典(这个说的很有道理的样子)
好了,我现在有三个需要合并的字典
(1).(why3.楷体.exp0.tif,why3.楷体.exp0.box)
(2).(why4.microsoftyaheiuilight.exp0.tif,why4.microsoftyaheiuilight.exp0.box)
(3). (why5.隶书b.exp0.tif,why5.隶书b.exp0.box)

1、先生成相对应的 .tr 文件
//自己的命令根据自己的情况进行修改
tesseract why3.楷体.exp0.tif why3.楷体.exp0 nobatch box.train
tesseract why4.microsoftyaheiuilight.exp0.tif why4.microsoftyaheiuilight.exp0 nobatch box.train
tesseract why5.隶书b.exp0.tif why5.隶书b.exp0 nobatch box.train
2、从所有文件中提取字符
//自己的命令根据自己的情况进行修改
unicharset_extractor why3.楷体.exp0.box why4.microsoftyaheiuilight.exp0.box why5.隶书b.exp0.box
3、生成字体特征文件
新建的font.txt文件,在文件中把所有box文件对应的字体特征都加进去(如果不知道,可以去原来考出来的字库文件找.font_properties文件查看)
楷体 0 0 0 0 0
microsoftyaheiuilight 0 0 0 0 0
隶书b 0 1 0 0 0
写完之后,执行如下命令:
mftraining -F font.txt -U unicharset why3.楷体.exp0.tr why4.microsoftyaheiuilight.exp0.tr why5.隶书b.exp0.tr
4 、聚集所有.tr 文件
cntraining why3.楷体.exp0.tr why4.microsoftyaheiuilight.exp0.tr why5.隶书b.exp0.tr
5 、重命名文件,我把unicharset, inttemp, normproto, pfftable,shapetable 这几个文件加了前缀why. (自己定,随意) //我加的是together.
6、合并所有文件 生成一个大的字库文件
combine_tessdata together.
目录下生成的结果如下:

把合并字库拷进如下目录:

测试图片如下:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU4AAABKCAIAAABb1yqcAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACBElEQVR4nO3d0W7jIBRF0Xg0///LzIOlqNJIjaCALz1rvbciNtvg1kmu1toL+O3+PD0AYAepQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSpQwSps891Xdd1PT2KUFKHCH+fHsBhJi5KvkJrrg37hbFTtmhgvYOxqkMEq3qfHy7FEy/wK9aKozcaA4O/j+GeV/34sZX6Pu84Hz/rBJL6JtM7d72gi3v1HaznPM6qvpbIKcKqvpDOqUPqq+icUqS+hM6pxr36ZCKnJqnPlNb52GM8vT8VcjDXuQ943dT3vAVq4jRK65wjvKdl3dTPktl574vd+SAqt/fRrpv6KRPi6+7jlDETqG7qR8hczDmRf7aN0zkHkfognXMWqY+Y27lPXGMDqXeb3vnPfwl8JPU+i/bt7gJYTeojlMlxpN7BZptedeaM1LtZ0ulVYc5IHSJ4Wu5JA8+El/1iA/5XZ/f+kvqAKe/ZKDUJWKrIpVPqHVpr70Rntdo7D4rMGz6qdjWXep+7tClnUbTPWppiweempT6izvnjo++TXnEqC3b+8hd4ki1KsbVWKvLbVXBMwHRWdYggdYggdYggdYggdYggdYggdYggdYggdYggdYggdYggdYggdYggdYggdYjwD3h9paReH8qcAAAAAElFTkSuQmCCAA==" alt="" />
执行如下代码:
# coding=utf-8
__author__ = 'syq' #https://github.com/tesseract-ocr
import sys
import importlib
#reload(sys)
importlib.reload(sys);
#sys.setdefaultencoding('utf-8') import os;
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
try:
from pyocr import pyocr
from PIL import Image
except ImportError:
print('模块导入错误,请使用pip安装,pytesseract依赖以下库:')
print('http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil')
print('http://code.google.com/p/tesseract-ocr/')
raise SystemExit
tools = pyocr.get_available_tools()[:]
if len(tools) == 0:
print("No OCR tool found")
sys.exit(1)
print("Using '%s'" % (tools[0].get_name()))
print(tools[0].image_to_string(Image.open('pic\\123.png'),lang='together'))
结果如下:

效果还可以,厉害了
参考:http://blog.csdn.net/dragoo1/article/details/8439272
http://www.lxway.com/815805156.htm
Tesseract_ocr 字符识别基础及训练字库、合并字库的更多相关文章
- Tesseract5.0训练字库,提高OCR特殊场景识别率,合并字库(二)
一.准备工作 需要的文件 tif文件和box文件. 如果你打标打好了,但是是分批次打标的,那么可以合并字库,我们最初只需要 tif 和 box 文件,如下: 二.生成对应的 .tr 训练文件 根据不同 ...
- 【CUDA 基础】5.4 合并的全局内存访问
title: [CUDA 基础]5.4 合并的全局内存访问 categories: - CUDA - Freshman tags: - 合并 - 转置 toc: true date: 2018-06- ...
- Java实现 蓝桥杯 算法训练 字符串合并
试题 算法训练 字符串合并 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个字符串,将其合并为一个字符串后输出. 输入格式 输入两个字符串 输出格式 输出合并后的字符串 样例 ...
- [C/C++标准库]_[0基础]_[使用fstream合并文本文件]
场景: 1. 就是合并文本文件,而且从第2个文件起不要合并第一行. 2. 多加了一个功能,就是支持2个以上的文件合并. 3. 问题: http://ask.csdn.net/questions/192 ...
- Git 基础教程 之 解决合并冲突
① 解决冲突 把Git合并失败的文件手动编辑成我们希望的内容 ② 提交,合并完成 场景: ① 新分支feature1,修改后,add, commit: ② 切回master后,修改后,add, ...
- Linux基础命令训练题型(上)
1.创建目录/data/dongdaxia,并且在该目录下创建文件dongdaxia.txt,然后在文件dongdaxia.txt里写入内容“inet 192.168.221.132 netmask ...
- 从入门到自闭之Python 基础习题训练
""" name = input(">>>")通过代码来验证name变量是什么数据类型? """ na ...
- 【蓝桥杯】非VIP基础题型训练17题 (Python 题解)
NO.I 基础题型 基础练习汇总 时间 题目 解析 21.12.24 早上 1. A+B问题 练习系统的适应 21.12.24 早上 2. 数组排序 输入输出排序 21.12.24 早上 3. 十六进 ...
- mysql数据库基础语句训练题
; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP ...
随机推荐
- GO语言的进阶之路-初探GO语言
GO语言的进阶之路-初探GO语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么我们需要一门新语言 Go语言官方自称,之所以开发Go 语言,是因为“近10年来开发程序之难 ...
- 在tomcat集群下利用redis实现单点登陆
场景:比如说我们要实现一个集群环境,无非是把多个项目部署到多个tomcat下,然后按照一定的算法,轮询什么的随机访问多个tomcat服务器,但是问题也会有许多,比如说,我们最开始是把登陆人的信息存放到 ...
- JAVA记录-生成jar包方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, Manifest-Version: 1.0 Class-Path: lib/commons-cod ...
- Hive记录-配置客户端可视化管理工具远程连接
配置客户端远程连接(方便可视化工具操作)-不需要在hive服务器上敲命令了 1.安装DBeaver工具:https://dbeaver.com/download/ 2.准备相关驱动文件(服务器上hiv ...
- Codeforces 590D Top Secret Task
D. Top Secret Task time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- 二、存储管理器--SDRAM
2.1 硬件结构 2.1.1 硬件框图 CPU 通过存储管理器来读取 SDRAM 网卡 等外部设备,CPU不管外部设备是怎么样的,只是读存储管理器中的地址 CPU从0x30000000地址读取数据. ...
- .net 事务处理
方法1:直接写入到sql 中在存储过程中使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 实现begin transdeclare @orderDetailsE ...
- Java EE之 Hibernate 5.x版本中SchemaExport的用法
//hibernate 5.0.1 Final ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().confi ...
- 【IT界的厨子】酱香鲈鱼
食材: 前世曾经回眸的鲈鱼一条(主要选刺少的鱼,适合孩子吃,大人吃随意,草鱼比较大) 五花肉少许(肥一些的) 豆腐 辅料: 葱姜 蒜(选) 大料 香菜 调味: 啤酒(两罐) 黄豆酱或豆瓣酱(选) 老抽 ...
- Django学习手册 - 模板语言(前端获取后台数据)
先在views视图内,定义列表数据,以及字典数据.运用render函数传递两个列表数据至前端. from django.shortcuts import render list_info = [ {& ...