十行Python代碼實現(xiàn)文字識別功能
今天給大家分享的主題是用百度的接口實現(xiàn)圖片的文字識別。
1.環(huán)境和配置要求
整體是用Python實現(xiàn),所需要使用的第三方庫包括aip、PIL、keyboard、pyinstaller,如未安裝,可在CMD中使用pip install Baidu-AIP/pillow/keyboard/pyinstaller指令安裝。
百度接口
打開網(wǎng)址,如未注冊請先注冊,然后登錄點擊管理控制臺,點擊左側產品服務→人工智能→文字識別,點擊創(chuàng)建應用,輸入應用名稱如Baidu_OCR,選擇用途如學習辦公,最后進行簡單應用描述,即可點擊立即創(chuàng)建。會出現(xiàn)應用列表,包括AppID、API Key、Secret Key等信息,這些稍后會用到。


2.具體實現(xiàn)步驟
整個程序的大致思路是,在用截圖軟件獲得截圖之后,交給百度接口識別,并返回結果,當然,也可以是本地圖片識別,我用的是QQ自帶截圖軟件,快捷鍵CTRL+ALT+A用來打開截圖,在選中所截區(qū)域后,按Enter鍵即可保存到粘貼板中,也可用其他截圖軟件。
獲取截圖
keyboard類庫是用來監(jiān)聽鍵盤動作的,所以在有快捷鍵按下之后,便會有相應動作。并用PIL中的ImageGrab來獲取到剪切板中的圖片并生成本地圖片文件。
#1.截圖
keyboard.wait('ctrl+alt+a')
print('開始截圖')
?
keyboard.wait('enter')
print('保存截圖')
time.sleep(0.1)
?
#2.保存圖片
image?=?ImageGrab.grabclipboard()
image.save('img.png')
調用Baidu aip識別并打印文字
先用注冊時生成的應用的AppID、API Key、Secret Key初始化應用,再讀取保存到的圖片并打印識別的文字。
with?open('img.png',?'rb')?as?fp:
????image?=?fp.read()
????text_list?=?client.basicAccurate(image)['words_result']
????for?text?in?text_list:
????????print(text['words'])
運行結果如圖所示:

我們還可增加一個無限循環(huán)使得一直能截圖。
調用打包程序生成專屬識別文字小程序
用pyinstaller庫實現(xiàn)小程序的打包,生成.exe文件,這樣就能隨時識別文字了。在命令行中用pyinstaller xxx.py來打包生成exe文件,最后在生成的dist文件夾即可找到xxx.exe文件如下:

最后附上整個源代碼:
#引入截圖軟件,獲取文件到本地端,并識別圖片文字,最后打包
import?keyboard?#控制鍵盤
from?PIL?import?ImageGrab?#保存圖片
import?time
from?aip?import?AipOcr
"""?你的?APPID?AK?SK?"""
APP_ID?=?'17076767'
API_KEY?=?'Af3Rj5HALMz5AN8prSgwTH4m'
SECRET_KEY?=?'******************'
client?=?AipOcr(APP_ID,?API_KEY,?SECRET_KEY)
i?=?0
while?True:
????#1.截圖
????keyboard.wait('ctrl+alt+a')
????print('開始截圖')
????keyboard.wait('enter')
????print('保存截圖')
????time.sleep(0.1)
????#2.保存圖片
????image?=?ImageGrab.grabclipboard()
????image.save('img{}.png'.format(i))
????"""?調用通用文字識別(高精度版)?"""
????with?open('img{}.png'.format(i),?'rb')?as?fp:
????????image?=?fp.read()
????????text_list?=?client.basicAccurate(image)['words_result']
????????for?text?in?text_list:
????????????print(text['words'])
????i+=1
附圖圖片識別案例

到此這篇關于十行Python代碼實現(xiàn)文字識別功能的文章就介紹到這了,更多相關Python文字識別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python超詳細實現(xiàn)完整學生成績管理系統(tǒng)
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個完整版學生成績管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2022-03-03
python遍歷迭代器自動鏈式處理數(shù)據(jù)的實例代碼
迭代器也是用來遍歷對象成員的,下面這篇文章主要給大家介紹了關于python遍歷迭代器自動鏈式處理數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-01-01
python深度學習tensorflow訓練好的模型進行圖像分類
這篇文章主要為大家介紹了python深度學習tensorflow訓練好的模型進行圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

