最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年09月14日 11:52:46   作者:魚(yú)尾努力淦飯  
這篇文章主要給大家介紹了關(guān)于Python調(diào)用百度AI實(shí)現(xiàn)圖片上表格識(shí)別功能的相關(guān)資料,在Python環(huán)境下,利用百度AI開(kāi)放平臺(tái)文字識(shí)別技術(shù),對(duì)表格類圖片進(jìn)行識(shí)別,需要的朋友可以參考下

簡(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)用AipOcr庫(kù)識(shí)別表格文字

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

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

選擇的圖片為某化學(xué)方程式表(來(lái)源于網(wǎng)絡(luò))

以二進(jìn)制方式打開(kāi)圖片,讀?。?/p>

file = "表格圖片\\化學(xué)方程式表.jpg"
pic = open(file,'rb') #以二進(jìn)制方式打開(kāi)圖片
img = pic.read() #讀取
table = client.tableRecognitionAsync(img)    #調(diào)用表格識(shí)別模塊
print(table)

然后調(diào)用表格識(shí)別模塊tableRecognitionAsync(),并將返回值存入變量table中并查看:

table是一個(gè)字典,其中有2個(gè)鍵,一個(gè)叫result,一個(gè)叫l(wèi)og_id。我們需要的是result中的request_id,可以通過(guò)如下語(yǔ)句獲?。?/p>

request_id = table['result'][0]['request_id']
request_id

通過(guò)這個(gè)ID,可以獲取識(shí)別完成后所保存的Excel表格的下載地址。將request_id傳入getTableRecognitionResult()就能獲取結(jié)果。

result = client.getTableRecognitionResult(request_id)
print(result)

打印一下結(jié)果result,就能看到下面的內(nèi)容。其中result_data對(duì)應(yīng)的那個(gè)網(wǎng)址就是Excel表格的下載地址。

調(diào)用webbrowser庫(kù)使用webbrowser.open(url)語(yǔ)句自動(dòng)打開(kāi)網(wǎng)址進(jìn)行下載:

url = result['result']['result_data']

import webbrowser # 打開(kāi)瀏覽器
webbrowser.open(url)

附:Python 通過(guò)瀏覽器 打開(kāi)指定網(wǎng)址

1.通過(guò)默認(rèn)瀏覽器打開(kāi)網(wǎng)頁(yè)

import webbrowser
webbrowser.open("http://www.baidu.com")

 webbrowser.open(url, new=0, autoraise=True) 在系統(tǒng)的默認(rèn)瀏覽器中訪問(wèn)url地址,如果new=0, url會(huì)在同一個(gè)

    瀏覽器窗口中打開(kāi);如果new=1,新的瀏覽器窗口會(huì)被打開(kāi);new=2 新的瀏覽器tab會(huì)被打開(kāi)

2.通過(guò)os模塊,啟動(dòng)瀏覽器并打開(kāi)指定網(wǎng)頁(yè)

import os
os.system('"C:\Program Files\internet explorer\iexplore.exe" http://www.baidu.com')

3.使用selenium

from selenium import webdriver
url='http://www.baidu.com'
driver = webdriver.Firefox()
driver.get(url)

識(shí)別結(jié)果如下:

這個(gè)Excel文件有6張工作表,具體包含與圖片中表格內(nèi)容的對(duì)應(yīng)關(guān)系如下。body儲(chǔ)存表格部分的內(nèi)容,header儲(chǔ)存表頭的文字,footer儲(chǔ)存表尾的文字。

識(shí)別效果并非完美,但是整體看來(lái)還行,當(dāng)然,原稿越清晰,識(shí)別效果越好。

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

在開(kāi)始前,需要檢查圖片的大小,必須在1K~4M之間,不然會(huì)報(bào)錯(cuò)“‘error_msg': ‘image size error, image is too big or too small, upper limit 4M, lower limit 1k, please check your param'”。

批量操作

先獲取所有圖片的路徑,存入pictures列表。結(jié)果如下。

#獲取路徑下所有圖片文件,并存入列表
import os
work_path = "表格圖片\\"
pictures=[] # 存儲(chǔ)文件夾內(nèi)所有文件的路徑(包括子目錄內(nèi)的文件)
for root, dirs, files in os.walk(work_path):
    path = [os.path.join(root, name) for name in files]
    pictures.extend(path)
pictures

然后將所有圖片逐個(gè)傳入表格識(shí)別接口,獲取其請(qǐng)求ID及存有識(shí)別結(jié)果的Excel文件的下載地址。在提取Excel下載路徑之前,需要先判斷識(shí)別是否完成。這是通過(guò)識(shí)別結(jié)果返回的字典中的'ret_msg'對(duì)應(yīng)的值來(lái)判斷的。只有當(dāng)它是“已完成”時(shí),才能獲得下載鏈接。此處用了while循環(huán),每隔2秒刷新一下?tīng)顟B(tài),直到狀態(tài)是“已完成”時(shí),才提取鏈接。然后使用requests.get()獲取下載鏈接信息,寫(xiě)入Excel文件。Excel自動(dòng)命名及下載結(jié)果如圖。

from aip import AipOcr  #導(dǎo)入AipOcr模塊,用于做文字識(shí)別
import time #時(shí)間模塊
import requests #用于HTTP請(qǐng)求

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

#提交識(shí)別請(qǐng)求,并儲(chǔ)存所有請(qǐng)求ID
for picture in pictures:
    pic = open(picture,'rb') #以二進(jìn)制方式打開(kāi)圖片
    img = pic.read() #讀取
    table = client.tableRecognitionAsync(img)    #調(diào)用表格識(shí)別模塊
    request_id = table['result'][0]['request_id']
    
    #判斷識(shí)別是否完成,直到完成才根據(jù)請(qǐng)求ID獲取Excel下載路徑
    result = client.getTableRecognitionResult(request_id)  #通過(guò)ID獲取識(shí)別結(jié)果
    while result['result']['ret_msg'] != '已完成': #如果狀態(tài)是“已完成”,才能獲取下載地址
        time.sleep(2) #暫停2秒再刷新
        result = client.getTableRecognitionResult(request_id) #持續(xù)刷新,直到滿足條件
        
    download_path = result['result']['result_data']
    
    #下載并將Excel文件名設(shè)為圖片名
    excel_name = picture.split(".")[0] + ".xls" #讓excel文件的名字與圖片相同
    excel = requests.get(download_path) #抓取下載鏈接
    file = open(excel_name, 'wb') #新建excel文件
    file.write(excel.content) #寫(xiě)入excel文件并保存

總結(jié)

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

相關(guān)文章

  • 關(guān)于Python dict存中文字符dumps()的問(wèn)題

    關(guān)于Python dict存中文字符dumps()的問(wèn)題

    這篇文章主要介紹了關(guān)于Python dict存中文字符dumps()的問(wèn)題,本文給大家分享問(wèn)題及解決方案,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • python中pandas常用命令詳解

    python中pandas常用命令詳解

    pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,這篇文章主要介紹了python中pandas常用命令,需要的朋友可以參考下
    2022-07-07
  • python中的隨機(jī)函數(shù)random的用法示例

    python中的隨機(jī)函數(shù)random的用法示例

    這篇文章主要介紹了python中的隨機(jī)函數(shù)random的用法示例,詳細(xì)的介紹了python 隨機(jī)函數(shù)random的用法和示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 關(guān)于使用python反編譯apk簽名出包的問(wèn)題

    關(guān)于使用python反編譯apk簽名出包的問(wèn)題

    這篇文章主要介紹了使用python反編譯apk簽名出包,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python OpenCV Hough直線檢測(cè)算法的原理實(shí)現(xiàn)

    Python OpenCV Hough直線檢測(cè)算法的原理實(shí)現(xiàn)

    這篇文章主要介紹了Python OpenCV Hough直線檢測(cè)算法的原理實(shí)現(xiàn),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • python dataframe實(shí)現(xiàn)統(tǒng)計(jì)行列中零值的個(gè)數(shù)

    python dataframe實(shí)現(xiàn)統(tǒng)計(jì)行列中零值的個(gè)數(shù)

    這篇文章主要介紹了python dataframe實(shí)現(xiàn)統(tǒng)計(jì)行列中零值的個(gè)數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺談python中常用的excel模塊庫(kù)

    淺談python中常用的excel模塊庫(kù)

    本文主要介紹了python中常用的excel模塊庫(kù),感興趣的同學(xué),可以參考下。
    2021-06-06
  • Python 除法小技巧

    Python 除法小技巧

    Python中將兩個(gè)整數(shù)相除,默認(rèn)結(jié)果是為整數(shù)的。但我們可以通過(guò)下面的方法,使得兩個(gè)整數(shù)相除的結(jié)果為小數(shù)。
    2008-09-09
  • 深入探究Python中變量的拷貝和作用域問(wèn)題

    深入探究Python中變量的拷貝和作用域問(wèn)題

    這篇文章主要介紹了Python中變量的拷貝和作用域問(wèn)題,包括一些賦值、引用問(wèn)題,以及相關(guān)函數(shù)在Python2和3版本之間的不同,需要的朋友可以參考下
    2015-05-05
  • wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件

    wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件

    這篇文章主要介紹了wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論

永川市| 当涂县| 濮阳县| 勃利县| 巩义市| 城市| 阜平县| 龙泉市| 南召县| 泰安市| 南昌市| 依兰县| 如东县| 木里| 乳源| 宣化县| 营山县| 平舆县| 富锦市| 红河县| 长沙市| 宁城县| 长沙市| 库车县| 鸡东县| 利川市| 康乐县| 建湖县| 涟源市| 吉木萨尔县| 安新县| 德安县| 秦安县| 上杭县| 台山市| 娄底市| 金山区| 东宁县| 芜湖市| 顺义区| 出国|