工作需要把100多张图片中的文字(主要是车牌号)提取出来,并作为文件名字。用python从头到尾写车牌识别的功能,耗时耗力。故在网上寻找可用于直接图片文字识别的接口直接调用,省时省力。
有百度经验提供每一步的参考,且通用文字识别(高精度版)的功能每天有500次的免费试用机会,且当前功能没有并发需求。故非常适合达到临时目的。
from aip import AipOcr
import re
import os
APP_ID = '1*****'
API_KEY = 'U*************************'
SECRET_KEY = '0********************************'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#把读出的文字内容统一保存在一个txt文档里
f = open(r'E:\work\filename\plateread.txt','w')
#保存了待识别图片的路径
PlatePath = r'E:\work\pic'
#按顺序识别出图片,并把图片文件名改成“识别出的文字.jpg”的格式
for Dir in os.listdir(PlatePath):
srcDir = os.path.join(PlatePath,Dir)
print(srcDir)
fsrc = open(srcDir,'rb')
img = fsrc.read()
message = client.basicAccurate(img)
for results in message.get('words_result'):
name = results.get('words')
print(name)
f.write(name)
dstDir = os.path.join(r'E:\work\pic',name) + '.jpg'
print(dstDir)
fsrc.close()
os.rename(srcDir, dstDir)
f.close()