通用技术 基本的图像处理与 OCR 文字识别工具总结 (Python)

xuxinhong · 2016年04月12日 · 最后由 磁针石 回复于 2018年06月08日 · 4471 次阅读

最近做了一些图片比较以及文字识别的工作,现把用到的工具与模块总结一下,供大家参考。

1. PIL

PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、裁剪、旋转、颜色转换等。

安装

  • WINDOWS: http://pythonware.com/products/pil/
  • Ubuntu: sudo apt-get install python-imaging

主要模块

  • 下面介绍了其提供的所有模块,可以根据自己需要详细查看

http://effbot.org/imagingbook/pil-index.htm#tools-reference

  • Image
    通常主要用到 Image Module,具体例子请参考下面的链接。很推荐!
    http://effbot.org/imagingbook/image.htm#examples

  • ImageFilter
    有时候我们需要对图片做一些降噪处理,可以用 ImageFilter 模块,ImageFilter 是 PIL 的滤镜模块,通过这些预定义的滤镜,可以方便的对图片进行一些过滤操作,从而去掉图片中的噪音 (部分的消除),这样可以降低将来处理的复杂度 (如模式识别等)。
    http://effbot.org/imagingbook/imagefilter.htm
    滤镜名称 含义
    ImageFilter.BLUR 模糊滤镜
    ImageFilter.CONTOUR 轮廓
    ImageFilter.EDGE_ENHANCE 边界加强
    ImageFilter.EDGE_ENHANCE_MORE 边界加强 (阀值更大)
    ImageFilter.EMBOSS 浮雕滤镜
    ImageFilter.FIND_EDGES 边界滤镜
    ImageFilter.SMOOTH 平滑滤镜
    ImageFilter.SMOOTH_MORE 平滑滤镜 (阀值更大)
    ImageFilter.SHARPEN 锐化滤镜

2. ImageMagic

ImageMagick 是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。也可做图片比较。

安装:

一些例子:
http://www.imagemagick.org/Usage/basics/#im_commands

Python 应用

ImageMagick 有 Python 封装的包,我在应用过程中觉得不太好用,所以就直接用下面的方式了

3. tesseract-ocr

Tesseract 的 OCR 引擎目前已作为开源项目发布在 Google Project,其项目主页在这里查看https://github.com/tesseract-ocr
它支持中文 OCR,并提供了一个命令行工具。python 中对应的包是 pytesseract. 通过这个工具我们可以识别图片上的文字。

安装:

  • WINDOWS: https://github.com/tesseract-ocr/tesseract/wiki/Downloads
  • Ubuntu: sudo apt-get install tesseract-ocr
  • MAC: brew install tesseract 安装 python 包 sudo pip install pytesseract tesseract-ocr 已经提供了多种语言训练文本,当识别中文时,我们需要下载训练文件 “chi_sim.traineddata” 从下面的链接(https://github.com/tesseract-ocr/tessdata), 然后拷贝到安装路径下的 tessdata 文件 夹下,比如 Ubuntu"/usr/share/tesseract-ocr/tessdata"

Python 应用

关于训练自己的样本,请参考下面的链接,这块研究的不多
http://www.cnblogs.com/samlin/p/Tesseract-OCR.html

4. opencv

未完

共收到 6 条回复 时间 点赞

动态图片带声音的处理- -对我来说是全新领域了,不过支持下。

顶一下,都整理出来了

只用过 tesseract-ocr,准确率惨淡,期待楼主的对比分析。

匿名 #4 · 2016年04月13日

准确率不是很高,但就开源的来说,tesseract-ocr 已经很不错了

博主小结的不错,学习了,谢谢!
https://www.jianshu.com/p/81f3d7fd0daf 介绍得也不错!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册