《Python网络数据采集》读后总结 --第11章图像处理和文字识别

浏览: 2608

《Python网络数据采集》第11章介绍了图像处理和如何实现图像中文本的基本方发,实现图像中文本只要用于CAPTCHAs就是验证码,还有OCR.

图像处理相关的库:Pillow 和 Tesseract

1.通常先使用Pillow进行图像处理,如做一些降噪处理

2.然后使用Tesseract做OCR识别。


pillow的安装:

--需要先安装 libjpeg-turbo-devel 不然会有问题,

--问题参考见http://stackoverflow.com/questions/34631806/fail-during-installation-of-pillow-python-module-in-linux

sudo yum install libjpeg-turbo-devel
pip install pillow

#1 降噪的一个简单滤镜
from PIL import Image, ImageFilter
kitten = Image.open("kitten.jpg")
blurryKitten = kitten.filter(ImageFilter.GaussianBlur)
blurryKitten.save("kitten_blurred.jpg")
blurryKitten.show()
Tesseract的安装使用:
Tesseract是一个OCR的命令行工具,

tesseract安装:

ubuntu比较简单:

apt-get tesseract-ocr

centos需要源码安装

先安装leptonica http://www.leptonica.com/

tar -xvf leptonica-1.73.tar.gz
cd leptonica-1.73
./configure
make
make install

安装tesseract(网址https://github.com/tesseract-ocr)

yum install autoconf automake libtool
unzip tesseract-master.zip
cd tesseract-master
./autogen.sh
./configure
make
sudo make install
sudo ldconfig

下载Language Data

书上的版本是3.02(wget http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz' )

现在是3.04的版本

下载 https://github.com/tesseract-ocr/tessdata

export TESSDATA_PREFIX=/usr/local/share/

解压到$TESSDATA_PREFIX/tessdata


#一般的使用方法

tesseract page.jpg textoutput |  cat textoutput.txt

示例列表:

1-basicImage.py
2-cleanImage.py
3-readWebImages.py
4-solveCaptcha.py

简单的示例:

#3-readWebImages.py
from urllib.request import urlretrieve
import subprocess

#tesseract -l chi_sim pagetianshan.jpg output
urlretrieve('http://ask.hellobi.com/uploads/project/40_main.jpg', "pagetianshan.jpg")
p = subprocess.Popen(["tesseract -l chi_sim", "pagetianshan.jpg", "output"], shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p.wait()
f = open("output.txt", "r")
print(f.read())

解析的结果如下,还是有很多无法识别的。



如何训练Language Data

针对上面的情况,需要训练识别的数据,

可以参考这些博文

<Tesseract-OCR训练笔记 >http://blog.csdn.net/firehood_/article/details/8433077

<tesseract-ocr 第四课 如何训练新语言 >http://wangjunle23.blog.163.com/blog/static/117838171201323031458171/


推荐 5
本文由 seng 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

5 个评论

seng老师读书很快
书看得很快,但是相关工具的安装测试需要花点时间。
这章Tesseract在centos上的安装,到花了我不少时间,3.04代码从googlecode迁到github上了,而且Language Data格式也变了,这个时间长了点。
这几天这本书会看完,然后会总结一下。 再补一下书中少的内容,如Scrpaer on Python3。
seng总,有没像弄Python这样吧R也弄一遍!
还是Python吧,不过OBIEE12c和R的接口还是会关注下,其他的再说了。
好吧

要回复文章请先登录注册