調用百度ocr的API,python簡易版本

簡化版本,只是在本地python調用,保存圖片在本地。

1. 注冊

百度云注冊賬號 https://cloud.baidu.com/?from=console
管理應用 https://console.bce.baidu.com/ai/#/ai/ocr/overview/index 創建一個

圖1登陸之后的界面

進入鏈接之后創建應用,由于是從文字識別點進去的,所以默認選中的就是ocr相關內容,填好表格確認。
圖2 創建應用之后的界面

有了這三個東西,AppID 、API Key、Secret Key,我們就可以在代碼里調用接口了。

2. 調用API

官方指南:https://ai.baidu.com/docs#/OCR-Python-SDK/top
安裝使用Python SDK: pip install baidu-aip
cv2 需要安裝:pip install opencv_python
如果只需要預測文字以及框出文字區域,執行以下代碼即可。

import cv2
from aip import AipOcr

""" 你的 APPID AK SK  圖2的內容"""
APP_ID = '14318340'
API_KEY = 'DUvK5jEkNmCIEz4cXH8VvIVC'
SECRET_KEY = '*******'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

fname = 'picture/test4.jpg'

""" 讀取圖片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content(fname)

""" 調用通用文字識別, 圖片參數為本地圖片 """
results = client.general(image)["words_result"]  # 還可以使用身份證駕駛證模板,直接得到字典對應所需字段

img = cv2.imread(fname)
for result in results:
    text = result["words"]
    location = result["location"]

    print(text)
    # 畫矩形框
    cv2.rectangle(img, (location["left"],location["top"]), (location["left"]+location["width"],location["top"]+location["height"]), (0,255,0), 2)

cv2.imwrite(fname[:-4]+"_result.jpg", img)

斜一定角度也能檢測出來 還不錯


效果圖
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容