ORC相关的库介绍和应用
将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)
OCR库:Pillow、Tesseract、NumPy
Pillow
Pillow可以对图片进行预处理,比如图片背景色不是纯白,而是渐进色,那么就可以利用Pillow进行预处理得到相对清晰的图片来提供给Tesseract去识别。
Tesseract
Tesseract可以通过训练识别出任何字体(要求字体风格保持不变)
安装Tesseract
Tesseract不是python的库,所以不是通过import的方式导入,而是需要去下载安装,截至目前最新版本是 3.02.02。下载地址
简体中文字库文件下载地址为:http://download.csdn.net/detail/wanghui2008123/7621567
下载完成后解压,然后将该文件剪切到tessdata目录下去就可以了。字库文件:chi_sim.traineddata
Tesseract默认安装在C盘,默认安装是不是会自动添加环境变量,我没试。
我是安装在F盘 F:\Program Files\Tesseract-OCR。安装成功后,再去设置一下环境变量,把安装的路劲加到环境变量里就好了,或者执行指令:
#setx TESSDATA_PREFIX F:\Program Files\Tesseract OCR\
安装的步骤我就不赘述了,安装的过程中出现失败的情况,没有关系,继续就OK。
接着去CMD指令界面中输入:C:\Users\Administrator>tesseract
如果出现下面的结果,那就是安装成功了!
为了验证下是否能识别成功,我在D盘根目录下放了一张图片
然后在cmd指令界面中输入如下指令:
C:\Users\Administrator>tesseract e:\img.jpg e:\img -l chi_sim
结果:(img默认是txt格式)
泪崩~
这识别是个什么几把玩意啊???不管识别的怎么样,人家也是识别了一部分不是?
NumPy
NumPy 并非解决OCR 问题时必须使用的库,但是如果你想训练Tesseract 识别,那么就会用到它。NumPy 是一个非常强大的库,具有大量线性代数以及大规模科学计算的方法。
ORC相关的库介绍和应用的更多相关文章
- DBoW2库介绍
DBoW2库是University of Zaragoza里的Lopez等人开发的开源软件库. 由于在SLAM回环检测上的优异表现(特别是ORB-SLAM2),DBoW2库受到了广大SLAM爱好者的关 ...
- 03_Elasticsearch如何安装以及相关插件的介绍
03_Elasticsearch如何安装以及相关插件的介绍 elasticsearch -d (-d参数是为了让服务后台运行) Elasticsearch 目录结构: 文件夹 作用 /bin 运行El ...
- Common Lisp第三方库介绍 | (R "think-of-lisper" 'Albertlee)
Common Lisp第三方库介绍 | (R "think-of-lisper" 'Albertlee) Common Lisp第三方库介绍 一个丰富且高质量的开发库集合,对于实际 ...
- GitHub上排名前100的Android开源库介绍
GitHub上排名前100的Android开源库介绍 文章来源: http://www.open-open.com/news/view/1587067#6734290-qzone-1-31660-bf ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
- 《挑战30天C++入门极限》C++的iostream标准库介绍(3)
C++的iostream标准库介绍(3) C语言提供了格式化输入输出的方法,C++也同样,但是C++的控制符使用起来更为简单方便,在c++下有两中方法控制格式化输入输出. 1.有流对象的成员函 ...
- 《挑战30天C++入门极限》C++的iostream标准库介绍(2)
C++的iostream标准库介绍(2) 接下来我们继续看一下C++风格的串流控制,C++引入了ostringstream.istringstream.stringstream这三个类,要使用 ...
- 简单易用的图像解码库介绍 —— stb_image
原文链接:简单易用的图像解码库介绍 -- stb_image 说到图像解码库,最容易想起的就是 libpng 和 libjpeg 这两个老牌图像解码库了. libpng 和 libjpeg 分别各自对 ...
- Alljoyn瘦客户端库介绍(官方文档翻译)
Alljoyn瘦客户端库介绍(上) 1.简介 本文档对AllJoynTM瘦客户端的核心库文件(AJTCL)进行了详尽的介绍.本文档介绍了系统整体架构,AllJoyn框架结构,并着重于介绍如何将嵌入式设 ...
随机推荐
- 8月清北学堂培训 Day3
今天是赵和旭老师的讲授~ 状态压缩 dp 状态压缩是设计 dp 状态的一种方式. 当普通的 dp 状态维数很多(或者说维数与输入数据有关),但每一维总量很少时,可以将多维状态压缩为一维来记录. 这种题 ...
- encode && decode && 加密 &&解密
1.urlencode 当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的(除了 -_.) string urlencode ( string $str )返回字符串 ...
- 消息中间件MQ
消息中间件MQ:为方便预览,将思维导图上传至印象笔记,博客园直接上传图片受限于图片大小 https://app.yinxiang.com/shard/s24/nl/27262531/c3e137a5- ...
- xman随机数相关题目
参加xman夏令营,大佬给我们带来了密码学课程.其中随机数部分感受颇深,记录下几个脚本. 1. 以时间作为种子的随机数 https://www.jarvisoj.com/ 的[xman2019]bab ...
- spaCy 第二篇:语言模型
spaCy处理文本的过程是模块化的,当调用nlp处理文本时,spaCy首先将文本标记化以生成Doc对象,然后,依次在几个不同的组件中处理Doc,这也称为处理管道.语言模型默认的处理管道依次是:tagg ...
- Java同步数据结构之LinkedBlockingDeque
前言 前面介绍完了队列Queue/BlockingQueue的实现类,接下来介绍双端队列Deque/BlockingDeque的实现类之一LinkedBlockingDeque,它是一种基于链表的可选 ...
- Intent Flags
Activity都是运行在任务栈里面,但如果要从广播接受者BordercastReceiver或者服务Service去启动一个Activity,必须为当前Activity创建一个新的任务栈才能正常显示 ...
- VBA添加下拉菜单
Sub createMenus() Dim cmdBar As CommandBar Dim cmdMenu As CommandBarPopup Dim cmdBtn As CommandBarBu ...
- RAID概念记录
之前对RAID概念有一些基本的认知,这次同事培训k8s 的持久卷,提到了RAID的一些概念和用法,记录一下. RAID ( Redundant Array of Independent Disks ) ...
- [C++]哈夫曼树(最优满二叉树) / 哈夫曼编码(贪心算法)
一 哈夫曼树 1.1 基本概念 算法思想 贪心算法(以局部最优,谋求全局最优) 适用范围 1 [(约束)可行]:它必须满足问题的约束 2 [局部最优]它是当前步骤中所有可行选择中最佳的局部选择 3 [ ...