亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

簡介

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

步驟

安裝百度AI庫

!pip install baidu-aip

注冊百度AI開放平臺

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

調(diào)用glob庫

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

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

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

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

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

調(diào)用AipOcr庫識別文字

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

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

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

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

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

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

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

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

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

識別效果圖:

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

可能會遇到的問題

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

百度OCR API識別失?。篛pen api qps request limit reached 錯(cuò)誤 解決方法

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

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

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

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

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

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

批量操作

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

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

APP_ID = '*********' # 你申請的
API_KEY = '*********'# 你申請的
SECRET_KEY = '*********'# 你申請的
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)打開
    img = pic.read() # 讀取
    message = client.basicGeneral(img) # 調(diào)用百度AI識別圖片中的文字
    for words in message['words_result']:
        word = words['words'] # 提取文字
        print(word)

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

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

總結(jié)

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

相關(guān)文章

  • Python操作MongoDB的教程分享

    Python操作MongoDB的教程分享

    MongoDB?是一個(gè)流行的?NoSQL?數(shù)據(jù)庫,以其半結(jié)構(gòu)化的文檔存儲方式而聞名,本文將帶大家逐步了解如何使用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簡明教程

    Python操作SQLite簡明教程

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

    Python?命令行?prompt_toolkit?庫詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論