开篇寄语
此前,伯衡君曾经介绍过如何语音转文本,具体可以参看下方的前情提要。市面上有不少内容识别的应用,其实大体上效果相差不多,可能很多产品就是用的这个库——Pytesseract,支持语言众多,那么使用python其实就可以简单做成,那么该如何实现呢?请看这篇。
前情提要
准备要素
- 本机上安装python3
- 安装Pillow这个库,参考这篇文章《Python的Pillow库真是一个作图神器,极大提高作图效率》
- 安装Pytesseract这个库
安装Pytesseract
虽然安装该库都可以用一个命令,即:
pip install pytesseract
默认是英语的,如果想安装不同语言,在不同系统中,安装方法也不同。
- MacOS
brew install tesseract-lang
- Linux(Ubuntu),安装正体中文,更多语言支持列表,可以参看这个网页:传送门
sudo apt-get install tesseract-ocr-chi_tra
- Windows,可以直接下载应用安装,点击这个地址:传送门
安装也很简单,下载最新日期的安装包喽,直接安装即可。
在其中一步,选择安装各种语言。
安装完成后,需要配置环境变量。
点击此电脑,右键,属性——进阶系统设定——高级——环境变量——path,新增添加你的tesseract 目录就可以了。
点击确定后即可。
检测是否安装成功,打开cmd调试窗口。
tesseract --version
就会出现安装的tesseract版本了。
输入支持的语言列表,请输入以下命令:
tesseract --list-langs
这样就能看到支持的语言了。
打开cmd,分别输入以下两段代码回车:
pip install pytesseract
pip install tesseract
在书写脚本中每次添加这样一句:
pytesseract.pytesseract.tesseract_cmd = 'D:\Program Files (x86)\tesseract-OCR\tesseract.exe' # 咱们的路径可能不一样
如何识别
好,前期准备已经搞定了,接下来就是简单python代码就可以实现了。比如这张图吧:
代码如下:
try: from PIL import Image except ImportError: import Image import pytesseract pytesseract.pytesseract.tesseract_cmd = 'D:\Program Files (x86)\tesseract-OCR\tesseract.exe' def ocr_core(filename): text = pytesseract.image_to_string(Image.open(filename))#如果想识别其他语言,比如简体中文,可以这样写text = #pytesseract.image_to_string(Image.open(filename), lang='chi_sim') return text with open("result.txt","w") as f: f.write(ocr_core('demo.png'))
这样就把识别的结果,都放进了一个txt文件了,如下图所示:
怎么样,是不是很简单,搭配Tkinter可以制作出自己的语言识别应用,就是这么简单。
ArrayArrayArray- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号