基于tesseract可以做文字识别,具体案例如下
前期准备
1.安装好python
2.安装PIL库和pytesseract库
3.本地下载了tesseract程序 - 本例以windows为例
下载及安装tesseract
上传了一个纯净离线包,可以直接解压使用,如有需要,可以自行搜索网上比较新的版本
解压后放到任意盘,比如D:\tesseract-Win64
假设我们需要识别的包含文字的图片如下:
使用python+tesseract识别可以得到如下的输出:
{'测试': [68, 16, 44, 29], '开发': [100, 16, 46, 29], '工程': [131, 16, 48, 29], '师': [172, 16, 12, 29]}
包含的内容为:文本及文本的位置坐标信息
具体代码见下:
from PIL import Image
import pytesseract
from pytesseract import Output
#---图像识别获得验证码
def get_validate_code(img = '公众号:测试开发工程师.png'):
data = {}
pytesseract.pytesseract.tesseract_cmd = 'D:\\tesseract-Win64\\tesseract'
image = Image.open(img)
validate_code = pytesseract.image_to_data(image, output_type=Output.DICT, lang='chi_sim')
print(validate_code)
print('汉字')
d = validate_code
for i in range(len(d['text'])):
if 0 < len(d['text'][i]):
(x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
data[d['text'][i]] = ([d['left'][i], d['top'][i], d['width'][i], d['height'][i]])
print(data)
return data
get_validate_code()
© 著作权归作者所有
文章评论(0)