日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Yhen手把手带你使用百度智能云②----文字识别

發布時間:2024/3/24 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Yhen手把手带你使用百度智能云②----文字识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:
以下內容為本人原創,僅供用于參考學習
禁止用于商業及違法用途

·作者:@Yhen
·原文網站:CSDN

·原文鏈接:https://blog.csdn.net/Yhen1/article/details/109412552
轉載請說明此出處,侵權必究!謝謝合作!

2021.09.22更新
好消息好消息!我發現百度智能云現在可以免費體驗云服務器啦
領取流程可以參考這篇文章哦
「云服務器」白嫖3個月百度智能云4M60G云服務器


在上一篇文章
《Yhen手把手帶你使用百度智能云①----項目的創建》中我介紹到了如何在百度AI開放平臺中創建一個項目來使用百度智能云提供給我們的接口
url:https://blog.csdn.net/Yhen1/article/details/109409575

而這篇文章我將介紹如何使用百度智能云的接口來進行文字識別

文章目錄

  • 一.功能概述
  • 二.使用教程
    • 1.通用文字識別
    • 2.高精度文字識別
    • 3.文字識別(含位置版)
    • 4.網絡圖片文字識別
    • 5.身份證文字識別
    • 6.銀行卡文字識別
    • 7.車牌號識別
  • 三.博主公眾號
  • 四.往期文章回顧

一.功能概述

首先進入百度文字識別官網
url :https://ai.baidu.com/tech/ocr/general
點擊立即使用

登錄成功后
下拉找到可用服務列表

這里面涵蓋了所有百度提供給我們的文字識別接口以及每個接口的可調用量

包括以下功能






可以看到 功能是十分齊全和豐富的
而且非常良心的是 這些接口只要在不超過限額的情況下 都是可以免費使用的

而提供的限額已經完全可以滿足我們的日常需要

ok,了解到了它功能之豐富
下面就來看看如何使用它們

二.使用教程

下面的篇幅我將對以下熱門接口進行演示以及對比分析
①通用文字識別
②高精度文字識別
③文字識別(含位置版)
④網絡文字識別
⑤身份證文字識別
⑥車牌識別
⑦銀行卡文字識別

1.通用文字識別

首先在導航欄中點擊“管理應用”

找到創建的項目的APP ID,API Key和Secret Key(點擊顯示即會顯示)
并且記錄下來

然后回到導航欄
點擊“技術文檔”

然后依次點擊
“SDK文檔”—>“Python語言”—>“快速入門”

然后按照文檔的提示操作


①首先按照baidu-aip 在終端輸入pip install baidu-aip 即可
②將下面的代碼復制下來,并將剛剛記錄下來的APP ID,API Key和Secret Key 填入代碼中

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 = "https//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)

上面的代碼太多,可能看的有點懵
其實很參數默認即可,我將它簡化一下

""" 讀取圖片 """ def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()image = get_file_content('example.jpg')""" 調用通用文字識別, 圖片參數為本地圖片 """ client.basicGeneral(image)url = "https//www.x.com/sample.jpg" """ 調用通用文字識別, 圖片參數為遠程url圖片 """ client.basicGeneralUrl(url)

我在原有的代碼中添加了While True循環增加了可用性
完整代碼

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑(輸入"q"后按回車鍵即可退出):')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)""" 調用通用文字識別, 圖片參數為本地圖片 """# 通用版word=client.basicGeneral(image)

我以下面這一張圖為例演示以下這段代碼

識別結果:

返回給我們的是一個字典,里面包含了識別出來的文字結果和一些其他的數據

官方文檔中也給我們提供了返回數據的說明

但是我們一般只需要知道識別出來的結果即可
所以我循環遍歷將識別的文字結果取出

# 通用版word=client.basicGeneral(image)str =word['words_result']for x in str:print(x['words'])

程序運行的結果如下:

可以看到
大部分的文字都是可以識別出來的
但是對英文的識別似乎不是很靈敏 有的單詞就缺少了字母

于是我又找了一張英文圖片

識別結果:

也是可以識別出大部分單詞的
但是看起來似乎還是有點別扭
有些單詞的大寫并沒有識別出來

接下來看看高精度文字識別的表現

2.高精度文字識別

實現高精度文字識別也很簡單
只需要修改通用文字識別的一條代碼即可


將“client.basicGeneral(image)”修改成client.basicAccurate(image)

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)""" 調用通用文字識別, 圖片參數為本地圖片 """# 高精度版word=client.basicAccurate(image)str =word['words_result']for x in str:print(x['words'])

我再次識別這張文字圖片

識別結果:

很明顯這次的識別結果要比通用文字識別要好得多
完美的把所有的文字都識別了出來

這次我換了一張文字較多的圖片進行測試

識別結果:

也是可以完全識別出來的

再來測試一下英文頁面

識別出來的結果也要比通用版的要好的多
看來高精度版果然不是浪得虛名的啊!

3.文字識別(含位置版)

文字識別(含位置版)也只需要修改一條代碼

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)""" 調用通用文字識別, 圖片參數為本地圖片 """# 位置信息版word=client.general(image)print(word)

這個的功能就是除了可以識別出文字結果外還可以知道文字的位置
額…其實感覺沒啥用

4.網絡圖片文字識別

這個的功能就是可以識別網絡上的一些背景復雜的圖片中的文字

也是修改一條代碼

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)""" 調用通用文字識別, 圖片參數為本地圖片 """# 網絡照片word =client.webImage(image)str =word['words_result']for x in str:print(x['words'])

以下面這張圖片進行演示

演示效果:

雖然圖片中的文字是手寫體的
但是還是能識別出大部分文字的

5.身份證文字識別

需要添加和修改兩條代碼

idCardSide = “back” 時識別的是身份證的背面
idCardSide = "front"時識別的是身份證的正面

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)# 身份證idCardSide = "front"""" 調用身份證識別 """word=client.idcard(image, idCardSide)print(word)


圖片來源于網絡…

識別結果:

可以成功識別出 姓名,民族,住址,公民身份號碼,性別
效果還是不錯的

6.銀行卡文字識別

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)# 銀行卡識別word=client.bankcard(image)print(word)


圖片來源于網絡.

識別結果:

可以成功識別出銀行卡號

7.車牌號識別

from aip import AipOcr while True:img_path=input('請輸入圖片所在的路徑:(輸入"q"后按回車鍵即可退出)')if img_path=='q':breakelse:""" 你的 APPID AK SK """APP_ID = ''API_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(img_path)# 車牌識別word=client.licensePlate(image)print(word)


圖片來源于網絡.

識別結果:

是可以成功識別出車牌號的

這篇文章中,演示了幾個平時比較熱門常用的接口
其他接口的使用都是大同小異的
大部分只用修改一行代碼就可以了
大家有興趣可以自己嘗試一下其他的接口

ok~到這里就演示結束啦

如果大家覺得還不錯的話,可以點個小贊嘛,加個關注更好哦!

三.博主公眾號

掃碼關注我的公眾號“Yhen雜文鋪”發現更多有趣~

四.往期文章回顧

Yhen手把手帶你使用百度智能云①----項目的創建

Yhen帶你趣味入門Python①—Windows下Python下載及安裝

【python熱搜爬蟲+定時發送郵件操作①】不會吧不會吧!不會2020了還有人需要用軟件看微博熱搜吧?

【python微博爬蟲+定時發送郵件操作②】不會吧不會吧!不會2020了還有人需要用軟件看微博熱搜吧?

【爬蟲+數據可視化】Yhen手把手帶你爬取CSDN博客訪問量數據并繪制成柱狀圖

【爬蟲】Yhen手把手帶你爬取去哪兒網熱門旅游信息(并打包成旅游信息查詢小工具

【爬蟲】Yhen手把手帶你用python爬小說網站,全網打盡,想看就看!(這可能會是你看過最詳細的教程)

【實用小技巧】用python自動判斷并刪除目錄下的空文件夾(超優雅)

【爬蟲+數據庫操作】Yhen手把手帶你用pandas將爬取的股票信息存入數據庫!

【selenium爬蟲】
Yhen手把手帶你用selenium自動化爬蟲爬取海賊王動漫圖片

【爬蟲】秀才不出門,天下事盡知。你也能做到!Yhen手把手帶你打造每日新聞資訊速達小工具。

【爬蟲】Yhen手把手帶你用python爬取知乎大佬熱門文章

【爬蟲】Yhen手把手教你爬取表情包,讓你成為斗圖界最靚的仔

【前端】學過一天的HTML+CSS后,能做出什么有趣的項目?

總結

以上是生活随笔為你收集整理的Yhen手把手带你使用百度智能云②----文字识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。