十行Python代碼實現文字識別功能
今天給大傢分享的主題是用百度的接口實現圖片的文字識別。
1.環境和配置要求
整體是用Python實現,所需要使用的第三方庫包括aip、PIL、keyboard、pyinstaller,如未安裝,可在CMD中使用pip install Baidu-AIP/pillow/keyboard/pyinstaller
指令安裝。
百度接口
打開網址,如未註冊請先註冊,然後登錄點擊管理控制臺,點擊左側產品服務→人工智能→文字識別,點擊創建應用,輸入應用名稱如Baidu_OCR,選擇用途如學習辦公,最後進行簡單應用描述,即可點擊立即創建。會出現應用列表,包括AppID、API Key、Secret Key等信息,這些稍後會用到。
2.具體實現步驟
整個程序的大致思路是,在用截圖軟件獲得截圖之後,交給百度接口識別,並返回結果,當然,也可以是本地圖片識別,我用的是QQ自帶截圖軟件,快捷鍵CTRL+ALT+A
用來打開截圖,在選中所截區域後,按Enter鍵即可保存到粘貼板中,也可用其他截圖軟件。
獲取截圖
keyboard類庫是用來監聽鍵盤動作的,所以在有快捷鍵按下之後,便會有相應動作。並用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'])
運行結果如圖所示:
我們還可增加一個無限循環使得一直能截圖。
調用打包程序生成專屬識別文字小程序
用pyinstaller庫實現小程序的打包,生成.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代碼實現文字識別功能的文章就介紹到這瞭,更多相關Python文字識別內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!
推薦閱讀:
- Python 實現局域網遠程屏幕截圖案例
- python爬蟲模擬登錄之圖片驗證碼實現詳解
- Python調用百度AI實現身份證識別
- Python實現人臉識別的詳細圖文教程
- Python調用百度AI實現圖片上表格識別功能