欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python調(diào)用百度AI實(shí)現(xiàn)圖片上文字識(shí)別功能實(shí)例

 更新時(shí)間:2021年09月06日 11:01:35   作者:魚(yú)尾努力淦飯  
百度AI功能還是很強(qiáng)大的,百度AI開(kāi)放平臺(tái)真的是測(cè)試接口的天堂,免費(fèi)接口很多,當(dāng)然有量的限制,但個(gè)人使用是完全夠用的,下面這篇文章主要給大家介紹了關(guān)于Python調(diào)用百度AI實(shí)現(xiàn)圖片上文字識(shí)別功能的相關(guān)資料,需要的朋友可以參考下

簡(jiǎn)介

Python免費(fèi)調(diào)用百度AI實(shí)現(xiàn)圖片上面的文字識(shí)別

步驟

安裝百度AI庫(kù)

!pip install baidu-aip

注冊(cè)百度AI開(kāi)放平臺(tái)

先注冊(cè)百度AI,獲得ID和密鑰。注冊(cè)方法可參考:注冊(cè)方法 只需走到 “1.6 獲取密鑰” 即可。然后記錄下自己的APP_ID、API_KEY、SECRET_KEY,就可以開(kāi)始了。

調(diào)用glob庫(kù)

glob庫(kù)用于獲得指定路徑下的指定后綴的文件,圖片使用的是《數(shù)學(xué)模型》pdf掃描版,部分如下:

import glob
path = "數(shù)學(xué)模型\\"
glob.glob(path+"*.png")

指定文件夾中的指定的.png后綴的文件,全部提取出來(lái)了:

選取第一張圖片 “數(shù)學(xué)模型1.png” 做測(cè)試:

files = glob.glob(path+"*.png")
file = files[0]

調(diào)用AipOcr庫(kù)識(shí)別文字

導(dǎo)入AipOcr模塊,這個(gè)模塊是用于做文字識(shí)別的(OCR即Optical Character Recognition,光學(xué)字符識(shí)別)。填入你申請(qǐng)的ID和KEY,client = AipOcr()是固定寫(xiě)法。先用二進(jìn)制方式rb打開(kāi),然后讀取,再調(diào)用百度AI進(jìn)行識(shí)別,并將識(shí)別結(jié)果存入message變量。

from aip import AipOcr #導(dǎo)入AipOcr模塊,用于做文字識(shí)別
import glob

APP_ID = '*********' # 你申請(qǐng)的
API_KEY = '*********'# 你申請(qǐng)的
SECRET_KEY = '*********'# 你申請(qǐng)的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

pic = open(file,'rb')# 以二進(jìn)制(rb)打開(kāi)
img = pic.read() # 讀取
message = client.basicGeneral(img) # 調(diào)用百度AI識(shí)別圖片中的文字

查看message參數(shù),結(jié)果如下:

可見(jiàn),message參數(shù)的結(jié)果為 “大字典” 形式,其中的鍵 words_result 所對(duì)應(yīng)的值為一個(gè) “大列表” ,這個(gè)列表里又有很多鍵值對(duì),鍵都是words,值就是AI從圖片上識(shí)別出來(lái)的內(nèi)容。使用語(yǔ)句message['words_result'][0...n]['words']可以篩選出該頁(yè)的標(biāo)題:

message['words_result'][1]['words']

for循環(huán)逐行提取:

for words in message['words_result']:
    word = words['words'] # 提取文字
    print(word)

識(shí)別效果圖:

識(shí)別也不是完美的,有很多識(shí)別錯(cuò)誤與未識(shí)別出的文字。當(dāng)然,原圖字體越清晰,識(shí)別度越高。

可能會(huì)遇到的問(wèn)題

識(shí)別過(guò)程中可能會(huì)遇到類(lèi)似識(shí)別錯(cuò)誤(無(wú)法識(shí)別)問(wèn)題,原因是未領(lǐng)取免費(fèi)識(shí)別次數(shù),解決過(guò)程如下:

百度OCR API識(shí)別失敗:Open api qps request limit reached 錯(cuò)誤 解決方法

幾個(gè)月前,用Python寫(xiě)了個(gè)小工具,主要是用到了百度的OCR API做了個(gè)文字識(shí)別的小工具,前面一直能用,然而今天,在使用的時(shí)候,報(bào)錯(cuò)了。
錯(cuò)誤如下:Open api qps request limit reached

最后終于找到了解決方法,原來(lái),現(xiàn)在要自己去領(lǐng)取免費(fèi)的測(cè)試額度了?。。?/p>

領(lǐng)取免費(fèi)測(cè)試額度的地址:(或者你在你原來(lái)那個(gè)調(diào)用的那個(gè)項(xiàng)目里也可以找到免費(fèi)領(lǐng)取測(cè)試額度,見(jiàn)下圖)

https://console.bce.baidu.com/ai/#/ai/ocr/overview/resource/getFree

領(lǐng)取完之后,還是用原來(lái)項(xiàng)目的appID,apiKey,secretKey即可。

然后等領(lǐng)取額度到賬后,重新運(yùn)行就行了。

批量操作

批量操作的核心為for循環(huán),txt_file = open('數(shù)學(xué)模型.txt', 'a')指打開(kāi)名字為“數(shù)學(xué)模型”的文本文件(若不存在則自動(dòng)新建),模式為添加模式,即'a'模式。添加模式是指,如果文本中已經(jīng)有一些內(nèi)容,則接著往下寫(xiě),不會(huì)影響原來(lái)的內(nèi)容。如果是'w'模式,則會(huì)將之前的內(nèi)容全部覆蓋。然后遍歷待處理的圖片,逐個(gè)處理:

from aip import AipOcr #導(dǎo)入AipOcr模塊,用于做文字識(shí)別
import glob

APP_ID = '*********' # 你申請(qǐng)的
API_KEY = '*********'# 你申請(qǐng)的
SECRET_KEY = '*********'# 你申請(qǐng)的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

path = "數(shù)學(xué)模型\\"
files = glob.glob(path+"*.png")

txt_file = open('數(shù)學(xué)模型.txt', 'a')

for file in files:
    pic = open(file,'rb')# 以二進(jìn)制(rb)打開(kāi)
    img = pic.read() # 讀取
    message = client.basicGeneral(img) # 調(diào)用百度AI識(shí)別圖片中的文字
    for words in message['words_result']:
        word = words['words'] # 提取文字
        print(word)

        txt_file.write(word) # 將文字寫(xiě)入文本文件

txt_file.close() # 關(guān)閉文本文件

總結(jié)

到此這篇關(guān)于Python調(diào)用百度AI實(shí)現(xiàn)圖片上文字識(shí)別功能的文章就介紹到這了,更多相關(guān)Python圖片上文字識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python操作MongoDB的教程分享

    Python操作MongoDB的教程分享

    MongoDB?是一個(gè)流行的?NoSQL?數(shù)據(jù)庫(kù),以其半結(jié)構(gòu)化的文檔存儲(chǔ)方式而聞名,本文將帶大家逐步了解如何使用Python與MongoDB進(jìn)行交互,從連接到基本操作,快跟隨小編一起學(xué)習(xí)一下吧
    2023-08-08
  • python3操作微信itchat實(shí)現(xiàn)發(fā)送圖片

    python3操作微信itchat實(shí)現(xiàn)發(fā)送圖片

    這篇文章主要為大家詳細(xì)介紹了python3操作微信itchat實(shí)現(xiàn)發(fā)送圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python操作SQLite簡(jiǎn)明教程

    Python操作SQLite簡(jiǎn)明教程

    這篇文章主要介紹了Python操作SQLite簡(jiǎn)明教程,簡(jiǎn)單明了的入門(mén)教程,包含連接、建表、增刪修查等例子,需要的朋友可以參考下
    2014-07-07
  • Python?命令行?prompt_toolkit?庫(kù)詳解

    Python?命令行?prompt_toolkit?庫(kù)詳解

    prompt_toolkit 是一個(gè)用于構(gòu)建強(qiáng)大交互式命令行的 Python 工具庫(kù)。接下來(lái)通過(guò)本文給大家介紹Python?命令行?prompt_toolkit?庫(kù)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-01-01
  • Numpy實(shí)現(xiàn)按指定維度拼接兩個(gè)數(shù)組的實(shí)現(xiàn)示例

    Numpy實(shí)現(xiàn)按指定維度拼接兩個(gè)數(shù)組的實(shí)現(xiàn)示例

    Numpy提供了多個(gè)函數(shù)來(lái)拼接數(shù)組,其中最常用的是np.concatenate、np.vstack、np.hstack等,本文就來(lái)介紹一下Numpy實(shí)現(xiàn)按指定維度拼接兩個(gè)數(shù)組的實(shí)現(xiàn),感興趣的可以了解一下
    2024-03-03
  • Python中日期和時(shí)間的用法超強(qiáng)總結(jié)

    Python中日期和時(shí)間的用法超強(qiáng)總結(jié)

    時(shí)間無(wú)疑是生活各個(gè)方面中最關(guān)鍵的因素之一,因此,記錄和跟蹤時(shí)間變得非常重要。在?Python?中,可以通過(guò)其內(nèi)置庫(kù)跟蹤日期和時(shí)間。今天我們來(lái)介紹關(guān)于?Python?中的日期和時(shí)間,一起來(lái)了解如何使用time和datetime模塊查找和修改日期和時(shí)間
    2022-10-10
  • Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問(wèn)題

    Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問(wèn)題

    這篇文章主要介紹了Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python中統(tǒng)計(jì)相同字符的個(gè)數(shù)方法實(shí)例

    python中統(tǒng)計(jì)相同字符的個(gè)數(shù)方法實(shí)例

    我們?cè)陂_(kāi)發(fā)中經(jīng)常需要統(tǒng)計(jì)某個(gè)字符或字符串出現(xiàn)的次數(shù),下面這篇文章主要給大家介紹了關(guān)于python中統(tǒng)計(jì)相同字符的個(gè)數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 簡(jiǎn)單了解python filter、map、reduce的區(qū)別

    簡(jiǎn)單了解python filter、map、reduce的區(qū)別

    這篇文章主要介紹了簡(jiǎn)單了解python filter、map、reduce的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python入門(mén)教程(九)Python字符串介紹

    Python入門(mén)教程(九)Python字符串介紹

    這篇文章主要介紹了Python入門(mén)教程(九)Python字符串,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下
    2023-04-04

最新評(píng)論