一、 预置条件:
- 在百度AI开发平台完成应用注册,获取到应用基本信息。
http://ai.baidu.com/
- python安装库:
pip install baidu-aip
pip install chardet
二、 实际案例
1. 简单验证码图片:
- 待识别图片
- OCR识别代码:
import os
from aip import AipOcr
def ocr(original_image):
filename = os.path.basename(original_image)
APP_ID = 'xxxxx'
API_KEY = 'xxxxx'
SECRECT_KEY = 'xxxxx'
client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
with open(original_image, 'rb') as picfile_read:
img = picfile_read.read()
print('正在识别图片:{0}......'.format(filename))
try:
result = client.basicGeneral(img) # 通用文字识别,50000次/天免费
except:
result = client.basicAccurate(img) # 通用文字识别(高精度版),500次/天免费
return result['words_result'][0]['words']
- 执行脚本:
image_file = r"D:\code_image.jpg"
print(ocr(image_file))
- 执行结果:
2. 较为复杂图片:
- 待识别图片
- OCR识别代码:
import os
from aip import AipOcr
def ocr(original_image):
filename = os.path.basename(original_image)
APP_ID = 'xxxxx'
API_KEY = 'xxxxx'
SECRECT_KEY = 'xxxxx'
client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
with open(original_image, 'rb') as picfile_read:
img = picfile_read.read()
print('正在识别图片:{0}......'.format(filename))
result = client.basicAccurate(img) # 通用文字识别(高精度版),500次/天免费
return result['words_result'][0]['words']
- 执行脚本:
image_file = r"D:\code.png"
calc_text = ocr(image_file)
print(f"图片识别内容是:{calc_text}")
calc_text = calc_text[:-2]
calc_text = calc_text.replace("×", "*").replace("÷", "/")
calc_result = eval(calc_text)
print(f"识别计算结果是:{calc_text}={calc_result}")
- 执行结果: