1. 程式人生 > >圖片文字識別aip的一個小Demo

圖片文字識別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這個列表,然後逐一遍歷,去取每個字串,即完成了圖片上文字的提取