(源码分享)利用Python识别提取图像文字(中文英文都可以)

Python024

(源码分享)利用Python识别提取图像文字(中文英文都可以),第1张

你想了解怎么利用程序自动识别网站验证码吗?识别提取图像文字中文英文都可以)

分享一点简单有用的小项目:python

源码分享如下:

看视频教程链接:(点击识别图像文字视频教程链接)

一、首先需要安装 Tesseract模块及 语言包

Tesseract OCR光学字符识别

Windows系统:

安装网站 (放在不需要权限的纯英文路径下):

: https://digi.bib.uni-mannheim.de/tesseract/

可以下载一些语言包:

https://github.com/tesseract-ocr/

安装完成后,如果想要在命令行中使用Tesseract,那么应该设置环境变量。

还有一个环境变量需要设置的是,要把训练的数据文件路径也放到环境变量中。

在环境变量中,添加一个TESSDATA_PREFIX=C:path_to_tesseractdata eseractdata。

在Python代码中操作tesseract。需要安装一个库,叫做pytesseract。通过pip的方式即可安装:

pip install pytesseract

并且,需要读取图片,需要借助一个第三方库叫做PIL。通过pip list看下是否安装。如果没有安装,通过pip的方式安装:

pip install PIL

使用pytesseract将图片上的文字转换为文本文字的示例代码如下:

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用

unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符

>>>import re

>>>s='中文:123456aa哈哈哈bbcc'.decode('utf8')

>>>s

u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'

>>>print s

中文:123456aa哈哈哈bbcc

>>>re.match(u"[\u4e00-\u9fa5]+",s)

<_sre.SRE_Match object at 0xb77742c0>

>>>pat='中文'.decode("utf8")

>>>re.search(pat,s)

<_sre.SRE_Match object at 0x16a16df0>

>>>newpat='这里是中文内容'.decode("utf8")

>>>news=re.sub(pat,newpat,s)

>>>print news

这里是中文内容:123456aa哈哈哈bbcc

from:http://blog.aizhet.com/web/12078.html