Python文字识别(OCR)-基于Tesseract

2021年5月8日 0 条评论 2.33k 次阅读 0 人点赞

基于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)

你必须 登录 才能发表评论