简介
首先先去 百度AI 的云平台注册一个账户,获取APP_ID、API_KEY、SECRET_KEY 填入代码中即可使用。
代码
# -*- coding:utf-8 -*-
import cv2
from aip import AipOcr
import tap
""" 你的 APPID AK SK """
APP_ID = 'XXXXXXXX'
API_KEY = 'XXXXXXXX'
SECRET_KEY = 'XXXXXXXX'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 打开图片
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 分析file图片
def analysis_screenshot(fname='screenshot.png'):
image = get_file_content(fname)
try:
results = client.general(image)["words_result"]
return results
except BaseException as e:
print(e)
return []
# 分析坐标
def analysis_screenshot_base(fname='screenshot.png'):
image = get_file_content(fname)
try:
results = client.basicGeneral(image)["words_result"]
return results
# 只回复纯文字
except BaseException as e:
print(e)
return []
# 调试用
def dev():
fname = 'screenshot.png'
image = get_file_content(fname)
""" 调用通用文字识别, 图片参数为本地图片 """
# 还可以使用身份证驾驶证模板,直接得到字典对应所需字段
results = client.general(image)["words_result"]
print(results)
img = cv2.imread(fname)
for result in results:
text = result["words"]
location = result['location']
print(location)
print(text)
# 画矩形框
cv2.rectangle(img, (location["left"], location["top"]),
(location["left"] + location["width"], location["top"] + location["height"]), (0, 255, 0), 2)
cv2.imwrite("bd_api.jpg", img)
if __name__ == '__main__':
print(analysis_screenshot_base('pic.jpg'))
更多资料
百度OCR文档:https://ai.baidu.com/ai-doc/OCR/9kibizye4