這樣做的緣由
工作需要把100多張圖片中的文字(主要是車牌號)提取出來,并作為文件名字。用python從頭到尾寫車牌識別的功能,耗時耗力。故在網(wǎng)上尋找可用于直接圖片文字識別的接口直接調(diào)用,省時省力。
用百度AI平臺接口的理由
有百度經(jīng)驗提供每一步的參考,且通用文字識別(高精度版)的功能每天有500次的免費試用機會,且當(dāng)前功能沒有并發(fā)需求。故非常適合達到臨時目的。
具體步驟
- 用百度賬號登錄百度AI開放平臺:https://login.bce.baidu.com
- 選擇要使用的接口:人工智能->文字識別。
- 點擊創(chuàng)建應(yīng)用,獲取App ID、API key、Secret Key,記下來。
- 閱讀技術(shù)文檔,知曉接口的參數(shù)和返回值等信息:https://cloud.baidu.com/doc/OCR/s/Fjwvxzxgv
- 用pip install baidu-aip安裝OCR Python SDK。
- 參照Python-SDK文檔,修改成自己想要的效果:
from aip import AipOcr
import re
import os
APP_ID = '1*****'
API_KEY = 'U*************************'
SECRET_KEY = '0********************************'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#把讀出的文字內(nèi)容統(tǒng)一保存在一個txt文檔里
f = open(r'E:\work\filename\plateread.txt','w')
#保存了待識別圖片的路徑
PlatePath = r'E:\work\pic'
#按順序識別出圖片,并把圖片文件名改成“識別出的文字.jpg”的格式
for Dir in os.listdir(PlatePath):
srcDir = os.path.join(PlatePath,Dir)
print(srcDir)
fsrc = open(srcDir,'rb')
img = fsrc.read()
message = client.basicAccurate(img)
for results in message.get('words_result'):
name = results.get('words')
print(name)
f.write(name)
dstDir = os.path.join(r'E:\work\pic',name) + '.jpg'
print(dstDir)
fsrc.close()
os.rename(srcDir, dstDir)
f.close()
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
