Win10使用开源OCR工具Tesseract5.0识别文本(python版)

一、安装:

1.下载文件地址

官方源码地址:https://github.com/tesseract-ocr/tesseract

exe执行文件下载地址:https://digi.bib.uni-mannheim.de/tesseract/

2.安装

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第1张图片

安装时注意选择所需要的语言库,按需选择即可,安装时会自动在线下载选择的语言库,

注意:记住安装的目录,配置环境变量需要用到

3.配置环境变量

我安装的文件夹路径为:D:\soft\tesseract

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第2张图片

回到桌面:

右键我的电脑--->选择高级系统设置

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第3张图片

选择高级--->环境变量

分别在用户变量和系统变量中添加刚刚的安装路径

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第4张图片

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第5张图片

在系统变量中新建TESSDATA_PREFIX,并添加安装目录下的tessdata路径

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第6张图片

4.重启电脑

5.查看安装成功与否

命令行输入:

tesseract -v

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第7张图片

显示版本信息则代表安装成功

二、Pycharm中使用pytesseract识别文本

1.安装pytesseract

命令行:

pip install pytesseract

即可

2.使用tesseract识别文本

安装完成后就可以测试文本图片了

识别的目标图片:

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第8张图片

识别代码:

import pytesseract
from PIL import Image, ImageEnhance
import cv2

def printText(img_path,isDraw):
    # print(pytesseract.get_languages())     #查看自己安装的语言库有哪些
    # img = Image.open(img_path)
    img = cv2.imread(img_path)
    img_ = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # text = pytesseract.image_to_string(Image.open(path),lang="eng")
    text = pytesseract.image_to_string(img_,lang="chi_sim")    #lang为识别的语言,chi_sim代表中文,eng为英文,可以混合使用
    # text = pytesseract.image_to_string(img,lang="chi_sim+eng")
    if isDraw==True:
        print(text)
        imgDraw(img)
    else:
        print(text)

def imgDraw(image):
    h, w, c = image.shape
    boxes = pytesseract.image_to_boxes(image)
    for b in boxes.splitlines():
        b = b.split(' ')
        image = cv2.rectangle(image, (int(b[1]), h - int(b[2])), (int(b[3]), h - int(b[4])), (0, 0, 255), 1)
    # image = cv.resize(image, None, None, fx=2, fy=2, interpolation=cv.INTER_LINEAR)    #图片放大两倍进行识别有时效果会更好
    cv2.imshow('text detect', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
'''
如果出现错误,可能是环境变量配置的原因,可以重新配置下环境变量,也可以在代码中加入以下两行:

pytesseract.pytesseract.tesseract_cmd = 'D:/soft/tesseract/tesseract.exe'  #安装目录下的EXE文件的路径
tessdata_dir_config = '--tessdata-dir "D:/soft/tesseract/tessdata"'        #安装目录下的tessdata文件夹路径

'''

if __name__ == '__main__':
    img_path = "./a.png"
    printText(img_path,True)

输出结果如图(有误识别的):

Win10使用开源OCR工具Tesseract5.0识别文本(python版)_第9张图片

你可能感兴趣的:(ocr,python,人工智能,计算机视觉)