字符训练网上一搜一大堆,但作为一个初学者而言,字符合并网上却写的很笼统

首先,需要 生成的字符集.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 字符识别基础及训练字库、合并字库的更多相关文章

  1. Tesseract5.0训练字库,提高OCR特殊场景识别率,合并字库(二)

    一.准备工作 需要的文件 tif文件和box文件. 如果你打标打好了,但是是分批次打标的,那么可以合并字库,我们最初只需要 tif 和 box 文件,如下: 二.生成对应的 .tr 训练文件 根据不同 ...

  2. 【CUDA 基础】5.4 合并的全局内存访问

    title: [CUDA 基础]5.4 合并的全局内存访问 categories: - CUDA - Freshman tags: - 合并 - 转置 toc: true date: 2018-06- ...

  3. Java实现 蓝桥杯 算法训练 字符串合并

    试题 算法训练 字符串合并 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个字符串,将其合并为一个字符串后输出. 输入格式 输入两个字符串 输出格式 输出合并后的字符串 样例 ...

  4. [C/C++标准库]_[0基础]_[使用fstream合并文本文件]

    场景: 1. 就是合并文本文件,而且从第2个文件起不要合并第一行. 2. 多加了一个功能,就是支持2个以上的文件合并. 3. 问题: http://ask.csdn.net/questions/192 ...

  5. Git 基础教程 之 解决合并冲突

    ①  解决冲突 把Git合并失败的文件手动编辑成我们希望的内容 ②  提交,合并完成 场景: ①  新分支feature1,修改后,add, commit: ②  切回master后,修改后,add, ...

  6. Linux基础命令训练题型(上)

    1.创建目录/data/dongdaxia,并且在该目录下创建文件dongdaxia.txt,然后在文件dongdaxia.txt里写入内容“inet 192.168.221.132  netmask ...

  7. 从入门到自闭之Python 基础习题训练

    """ name = input(">>>")通过代码来验证name变量是什么数据类型? """ na ...

  8. 【蓝桥杯】非VIP基础题型训练17题 (Python 题解)

    NO.I 基础题型 基础练习汇总 时间 题目 解析 21.12.24 早上 1. A+B问题 练习系统的适应 21.12.24 早上 2. 数组排序 输入输出排序 21.12.24 早上 3. 十六进 ...

  9. mysql数据库基础语句训练题

    ; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP ...

随机推荐

  1. 添加dubbo.xsd的方法

    整合dubbo-spring的时候,配置文件会报错 因为     阿里关闭在线的域名了.需要本地下载xsd文件  所以,需要下载本地引入. 解决方式: 在dubbo的开源项目上找到xsd文件: htt ...

  2. pyppeteer 报错-无法连接到浏览器

    问题 程序报错: Failed to connect to browser port: http://127.0.0.1:57899/json/version 原因 虽然pyppeteer在首次启动时 ...

  3. Vue.js 基础知识

    0. Vue.js 是轻量级的MVVM框架: 1. index.html:<app></app>:组件载入:入口文件会默认调用一个 main.js: 2. App.vue:入口 ...

  4. cdqz2017-test11-占卜的准备

    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #defi ...

  5. WF控制台工作流(2)

    using System; using System.Linq; using System.Activities; using System.Activities.Statements; namesp ...

  6. CF28D Don't fear, DravDe is kind

    传送门 题意:\(n\)个位置,每个位置有价值\(v_i\)和重量\(p_i\),要选出一些位置,如果要选位置\(i\),那么前面选的重量之和要为\(l_i\),后面选的重量之和要为\(r_i\),求 ...

  7. 第4月第10天 iOS项目 mvc

    1. 一个uiviewcontroller发送网络请求,解析数据后放在数组里.如果是多个网络请求,就要多个成员变量存储.那是不是可以单独出一个model来解析数据,存储数据呢. 如果有一个Reques ...

  8. mysql 案例~ mysql故障恢复

    一 :遇到一个朋友的案例 分享下处理流程 二 : 现象 1 mysql无法启动,观察日志发现 InnoDB: Failing assertion: !m_fatal InnoDB: We intent ...

  9. python - 系统交互操作(subprocess)

    本文摘于云游道士 链接:https://www.cnblogs.com/yyds/p/7288916.html 个人简化,便于查询. 命令行指令的执行通常有两个比较关注的结果: 命令执行的状态码--表 ...

  10. wFuzz使用帮助

    ******************************************************** * Wfuzz 2.0 - The Web Bruteforcer * ******* ...