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

Python021

(源码分享)利用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将图片上的文字转换为文本文字的示例代码如下:

1.字符 特殊字符串 \n:换行 \r:删除\r前面的字符 \t:制表符 例如: s_1 = "人生苦短,\n我选Python!" s_2 = "人生苦短,\r我选Python!" s_3 = "人生苦短,\t我选Python!" print(s_1) # 人生苦短, print(s_2) # 我选Python print(s_3) # 人生苦短, 我选Python! 遇到特殊字符,想去掉效果,把特殊字符转成普通字符 可以使用# r Rs_1 =r "人生苦短,\n我选Python!" s_2 =R "人生苦短,\r我选Python!" s_3 = "人生苦短,\t我选Python!" 2.字符串取值 特点:取头不取尾,正序从0开始,倒序从-1开始 [start:end:step] #step:表示间隔 s='hello python lemon' print(s[6:12:1]) #正序 python 6,7,8,9,10,11 print(s[-12:-6:1]) # 倒序 python -12,-11,-10,-9,-8,-7 print(s[:])#hello python lemon 从头取到尾 [:] print(s[6:]) #python lemon 从6取到尾 [start:] print(s[:17])# [:end] 从开始取到16 获取s所有的偶数位的字母 print(s[0:17:2]) 获取s所有的奇数位的字母 print(s[1:18:2]) 倒序输出所有的字母 print(s[17::-1]) # 不可以写出是s[17:-1:-1] or s[17:0:-1] 3.常用方法 find() : 返回-1表示未找到子字符串,找到会返回对应字符的索引,子字符包含单个字符或多个字符 isdigit():判断是否全部是数字,是返回True,否返回False replace(要替换的内容:替换的内容:替换的次数):指定替换内容以及被替换的字符串,并可以指定替换次数,默认是全部替换 split(指定字符,指定切割的次数):根据指定字符对字符串进行切割,默认全部切割 strip():去掉头和尾指定的字符 upper():字符串的字母转成大写 lower():字符串的字母转成小写 swapcase():字符串的字母大小互换 例如: s='learn python in lemon' print(s.find('n')) #返回找到字符串的索引 print(s.find(python))#返回找到的子字符串的第一个索引值--6 print(s.find('k')) # 返回-1 print(s.find('o',11))#从索引值为11的值开始找---19 print(s.isdigit())# 返回False s1 = "******learn python*****" print(s.strip("*"))# learn python