1. 程式人生 > 程式設計 >Python基於百度AI實現OCR文字識別

Python基於百度AI實現OCR文字識別

百度AI功能還是很強大的,百度AI開放平臺真的是測試介面的天堂,免費介面很多,當然有量的限制,但個人使用是完全夠用的,什麼人臉識別、MQTT伺服器、語音識別等等,應有盡有。

Python基於百度AI實現OCR文字識別

Python基於百度AI實現OCR文字識別

看看OCR識別免費的量

Python基於百度AI實現OCR文字識別

Python基於百度AI實現OCR文字識別

快速安裝:執行pip install baidu-aip即可

新建一個AipOcr:

from aip import AipOcr

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

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('example.jpg')

""" 呼叫通用文字識別,圖片引數為本地圖片 """
client.basicGeneral(image);

""" 如果有可選引數 """
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"

""" 帶引數呼叫通用文字識別,圖片引數為本地圖片 """
client.basicGeneral(image,options)

url = "http//www.x.com/sample.jpg"

""" 呼叫通用文字識別,圖片引數為遠端url圖片 """
client.basicGeneralUrl(url);

""" 如果有可選引數 """
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"

""" 帶引數呼叫通用文字識別,圖片引數為遠端url圖片 """
client.basicGeneralUrl(url,options)

通用文字識別 請求引數詳情

Python基於百度AI實現OCR文字識別

通用文字識別 返回資料引數詳情

Python基於百度AI實現OCR文字識別

通用文字識別

from aip import AipOcr

#更換為自己的註冊資訊
APP_ID = '---'
API_KEY = '---'
SECRET_KEY = '---'

client = AipOcr(APP_ID,SECRET_KEY)#建立連線
fp=open("tu2.png","rb").read()#開啟並讀取檔案內容
res=client.basicGeneral(fp)#普通
#print(res)

#將所有的文字都合併到一起
strx=""
for tex in res["words_result"]:#遍歷結果
  strx+=tex["words"]#每一行
print(strx)#輸出內容

最終程式碼

from aip import AipOcr
 
# 定義常量
APP_ID = '14544448'
API_KEY = 'yRZGUXAlCd0c9vQj1kAjBEfY'
SECRET_KEY = 'sc0DKGy7wZ9MeWFGZnbscbRyoDB2IQlj'
 
# 初始化AipFace物件
client = AipOcr(APP_ID,SECRET_KEY)
 
# 讀取圖片
def get_file_content(filePath):
  with open(filePath,'rb') as fp:
    return fp.read()
 
image = get_file_content('binary_best.jpg')
# 呼叫通用文字識別,圖片為本地圖片
res=client.general(image)
print(res)
 
for item in res['words_result']:
  print(item['words'])

例:

from aip import AipOcr
import re
APP_ID='17010327'
API_KEY='X2MWCU1LG1PX5H6GAXgdlWD7'
SECRET_KEY='vz6GZ6TkhSFvY3quqcuC3EG8oEW3kThB'
client=AipOcr(APP_ID,SECRET_KEY)

i=open(r'C:\Users\Administrator\Desktop\example.png','rb')
image = i.read()

result=client.basicGeneral(image)

#將所有的文字都合併到一起
for item in result['words_result']:
  print(item['words'])

Python基於百度AI實現OCR文字識別

通用文字識別client.basicGeneral(image)

通用文字識別(高精度版)client.basicAccurate(image);

通用文字識別(含位置資訊版)client.general(image);

通用文字識別(含位置高精度版)client.accurate(image);

通用文字識別(含生僻字版)client.enhancedGeneral(image);

網路圖片文字識別client.webImage(image);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。