【Python】Python文字识别

1.使用pytesseract和PIL库

(1)安装pytesseract和PIL库:pycharm->settings->project interpreter

(2)安装识别引擎tesseract-ocr:点击打开链接

from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('test3.png'),lang='chi_sim')
print(text)

但是识别英文和数字效果还可以,识别中文效果较差。

2.利用百度AI提供的python SDK

安装OCR Python SDK:pip install baidu-aip

百度AI python SDK文档中心:点击打开链接

(1)通用文字识别:

# -*- coding: UTF-8 -*-
from aip import AipOcr
# 定义常量
APP_ID = '11352343'
API_KEY = 'Nd5Z1NkGoLDvHwBnD2bFLpCE'
SECRET_KEY = 'A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os'
# 初始化AipFace对象
aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 读取图片
filePath = "test3.png"
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
# 定义参数变量
options = {
    'detect_direction': 'true',
    'language_type': 'CHN_ENG',
}
# 调用通用文字识别接口
result = aipOcr.basicGeneral(get_file_content(filePath), options)
print(result)
words_result=result['words_result']
for i in range(len(words_result)):
    print(words_result[i]['words'])
(2)表格文字识别:
# -*- coding: UTF-8 -*-
from aip import AipOcr
import time
# 定义常量
APP_ID = '11352343'
API_KEY = 'Nd5Z1NkGoLDvHwBnD2bFLpCE'
SECRET_KEY = 'A9FsnnPj1Ys2Gof70SNgYo23hKOIK8Os'

# 初始化AipFace对象
aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)

# 读取图片
filePath = "1-2.png"
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

options1={}

# 调用通用文字识别接口
result1 = aipOcr.tableRecognitionAsync(get_file_content(filePath), options1 )

requestID=result1['result'][0]['request_id']

time.sleep(20)          #为了'ret_msg': '已完成'

options2 = {}
options2["result_type"] = "json"

result2=aipOcr.getTableRecognitionResult(requestID,options2)
print(result2)

str_result=str(result2)

begin=str_result.find('word')
for i in range(str_result.count('word')):
    print(str_result[begin+7:str_result.find('"',begin+8)])
    begin=str_result.find('word',begin+1)
识别出来的结果需要再处理一下。


猜你喜欢

转载自blog.csdn.net/li_jiaqian/article/details/80585069