圖片文字識別aip的一個小Demo


目前接觸到了一個新的內容,識別圖片上的文字,以下是這個Demo

  • 首先需要在需要在百度雲-管理中心創建應用
    • 地址:http://console.bce.baidu.com/ai/#/ai/ocr/app/list,如果沒有賬號主要注冊百度賬號
    • 點擊創建應用同時保存記錄AppID,API Key,Secret Key
  • 安裝aip的安裝包:pip install baidu-aip

 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# author:jiyanjiao

from aip import AipOcr
import cv2

APP_ID = '創建應用后生成的id'
API_KEY = '創建應用后生成的key'
SECRET_KEY = '創建應用后生成的secretkey'

fname = 'picture/T5.jpg'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)


""" 讀取圖片 """


def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()


image = get_file_content(fname)


""" 調用通用文字識別, 圖片參數為本地圖片 """
words_results = client.general(image)
results = words_results["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)
  • 接下來我們來說一些這些方法的返回值
    • aip的官方文檔:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E7.AE.80.E4.BB.8B
    • client.general(image)會返回一個字典,包含了唯一標識log_id,words_result_num就是這個words_result的數量
    •    words_results["words_result"] 提取 words_result這個列表,然后逐一遍歷,去取每個字符串,即完成了圖片上文字的提取

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM