自制图像识别OCR转文字?用Python实现就特别简单

百度已收录   阅读次数: 62
2021-02-2021:02:47 发表评论
摘要

此前,伯衡君曾经介绍过如何语音转文本,具体可以参看下方的前情提要。市面上有不少内容识别的应用,其实大体上效果相差不多,可能很多产品就是用的这个库——Pytesseract,支持语言众多,那么使用python其实就可以简单做成,那么该如何实现呢?请看这篇……

自制图像识别OCR转文字?用Python实现就特别简单

开篇寄语

此前,伯衡君曾经介绍过如何语音转文本,具体可以参看下方的前情提要。市面上有不少内容识别的应用,其实大体上效果相差不多,可能很多产品就是用的这个库——Pytesseract,支持语言众多,那么使用python其实就可以简单做成,那么该如何实现呢?请看这篇。

前情提要

准备要素

安装Pytesseract

虽然安装该库都可以用一个命令,即:

pip install pytesseract

默认是英语的,如果想安装不同语言,在不同系统中,安装方法也不同。

  • MacOS
brew install tesseract-lang
  • Linux(Ubuntu),安装正体中文,更多语言支持列表,可以参看这个网页:传送门
sudo apt-get install tesseract-ocr-chi_tra
  • Windows,可以直接下载应用安装,点击这个地址:传送门

安装也很简单,下载最新日期的安装包喽,直接安装即可。

自制图像识别OCR转文字?用Python实现就特别简单

在其中一步,选择安装各种语言。

自制图像识别OCR转文字?用Python实现就特别简单

安装完成后,需要配置环境变量。

点击此电脑,右键,属性——进阶系统设定——高级——环境变量——path,新增添加你的tesseract 目录就可以了。

自制图像识别OCR转文字?用Python实现就特别简单

点击确定后即可。

检测是否安装成功,打开cmd调试窗口。

tesseract --version

就会出现安装的tesseract版本了。

自制图像识别OCR转文字?用Python实现就特别简单

输入支持的语言列表,请输入以下命令:

tesseract --list-langs

这样就能看到支持的语言了。

打开cmd,分别输入以下两段代码回车:

pip install pytesseract
pip install tesseract

在书写脚本中每次添加这样一句:

pytesseract.pytesseract.tesseract_cmd = 'D:\Program Files (x86)\tesseract-OCR\tesseract.exe'  # 咱们的路径可能不一样

如何识别

好,前期准备已经搞定了,接下来就是简单python代码就可以实现了。比如这张图吧:

自制图像识别OCR转文字?用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文件了,如下图所示:

自制图像识别OCR转文字?用Python实现就特别简单

怎么样,是不是很简单,搭配Tkinter可以制作出自己的语言识别应用,就是这么简单。

分享至:
  • 我的微信
  • 微信扫一扫加好友
  • weinxin
  • 我的微信公众号
  • 扫描关注公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: