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

首先,需要 生成的字符集.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. KVM使用入门

    KVM使用入门 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.KVM管理工具 1.libvirt系列 它是由REDHAT公司开发的适用于管理众多不同架构上的虚拟化技术的管理工具 ...

  2. sudo权限管理

    sudo权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 好久没有更新关于命令的博客了,这也是这周工作,开发问了我一个问题,说caiq这个用户为什么不能用sudo权限,于是百 ...

  3. 搭建nginx反向代理用做内网域名转发

    先上一个我的正常使用的配置 location / { proxy_pass http://192.168.1.84:80; proxy_redirect off; proxy_set_header H ...

  4. redis的入门篇----启动和关闭

    废话不多说  本博主要的内容是redis的常见命令 redis分为服务端和客户端 服务端的启动方式: redis-server redis-server ${redis.conf}    //后面是一 ...

  5. MySQL邮件使用情况统计方法

    邮件使用情况统计方法如下: ) AS domain, COUNT(DISTINCT [column_name]) AS mail_count, COUNT([column_name]) AS mail ...

  6. 04-接口隔离原则(ISP)

    1. 背景 类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类B和类D来说不是最小接口,则类B和类D不得不去实现它们不需要的方法. 2. 定义 一个类对另一个类的依赖应该建立在最小的接口 ...

  7. [iOS]App上架流程[利用Archive进行上传]

    今天给大家带来项目如何上架的教程 准备: 1. 一个开发者账号(需要交过钱的,

  8. Python入门系列教程(一)基础

    基础知识 1.变量及类型 2.换行\n 3.输入 password = raw_input("请输入密码:") print '您刚刚输入的密码是:', password 4.格式化 ...

  9. Linux下解压缩

    1)对于.tar结尾的文件 tar -xf all.tar 2)对于.gz结尾的文件 gzip -d all.gz gunzip all.gz 3)对于.tgz或.tar.gz结尾的文件 tar -x ...

  10. Java基础编程题——分别统计出其中汉字、英文字母、空格、数字和其它字符的个数

    package com.yangzl.basic; import java.util.Scanner; /** * 分别统计出其中汉字.英文字母.空格.数字和其它字符的个数 * @author Adm ...