python调用百度API进行车牌识别

第一部分 申请百度账号并开通应用。

1.登陆百度智能云平台,在产品服务中依次选择“人工智能”、“文字识别”。

python调用百度API进行车牌识别_第1张图片

2.在控制台中“创建应用”

 python调用百度API进行车牌识别_第2张图片

3.输入应用名称,勾选“交通场景OCR”中的“车牌识别”

python调用百度API进行车牌识别_第3张图片

python调用百度API进行车牌识别_第4张图片

4. 申领免费额度。

python调用百度API进行车牌识别_第5张图片

python调用百度API进行车牌识别_第6张图片

5. 在应用列表中记住自己的AppID、API Key、Secret Key

 第二部分 配置python环境

1. 安装百度库 pip install baidu-aip(略)

2. 安装opencv-python库(略)

第三部分 代码

#引入随机数
import random
#引入时间模块
import time
#导入百度api
from aip import AipOcr
#导入cv2 开启摄像头、拍照
import cv2
'''
配置百度api
'''
APP_ID = ''       #你的APP_ID 
API_KEY = ''      #你的API_KEY
SECRET_KEY = ''   #你的SECRET_KEY 
# 创建客户端对象
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 建立连接的超时时间,单位为毫秒
client.setConnectionTimeoutInMillis(5000)
# 通过打开的连接传输数据的超时时间,单位为毫秒
client.setSocketTimeoutInMillis(5000)

# 读取图片
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
      
                        
if __name__ == "__main__":
    
    '''
    开启摄像头拍照,按ESC退出,按S拍照保存
    '''
    # 如果是笔记本自带的摄像头就是VideoCapture(0),如果是外接的摄像头就把0改成1
    cap = cv2.VideoCapture(0 + cv2.CAP_DSHOW)
    while(1):
        ret, frame = cap.read()
        k = cv2.waitKey(1)
        if k == 27:
            break
        elif k == ord('s'):
            #记录当前时间+3位随机整数作为图片文件名
            pic_name = time.strftime("%Y%m%d%H%M%S", time.localtime())+str(random.randint(100,999))
            cv2.imwrite('./images/'+pic_name+'.jpg', frame)
            #讲图片上传到百度api进行识别
            time.sleep(1)
            image = get_file_content('./images/'+pic_name+'.jpg')
            res = client.licensePlate(image)
            print('车牌号码:' + res['words_result']['number'])
            print('车牌颜色:' + res['words_result']['color'])
                      
        cv2.imshow("capture", frame)
    cap.release()
    cv2.destroyAllWindows()

你可能感兴趣的:(python,python,百度,人工智能)