python實(shí)現(xiàn)連續(xù)圖文識(shí)別
本文實(shí)例為大家分享了python實(shí)現(xiàn)連續(xù)圖文識(shí)別的具體代碼,供大家參考,具體內(nèi)容如下
1.工具:
1.1 剪切板。我下載并安裝使用的是剪切板查看器(clipbrd.exe),成功后顯示“剪貼薄查看器.exe”
1.2 截圖工具并設(shè)置熱鍵。保存圖片鍵和退出鍵可任意設(shè)置,注意不能同其它熱鍵沖突。我使用的是微信截圖,進(jìn)入設(shè)置---進(jìn)入快捷按鍵---把截取屏幕鍵改為F1。
1.3 Python 3.x,Windows環(huán)境
1.4 注冊(cè)百度云帳號(hào),獲取Appid API Key Secret Key
1.5 新建文件夾。我建的名叫‘圖文識(shí)別'文件夾(C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\圖文識(shí)別)
1.6 ‘圖文識(shí)別'文件夾下,有3個(gè).py文件,分別是:screenshot.py baiduap.py getText.py;有1個(gè)配置文本文件是password.ini;有個(gè)圖像文件是Picture.png。
1.7 需要有以下第三方庫:keyboard、PIL、aip、configparser、win32con、win32clipboard。
2 完整代碼:
2.1 screenshot.py是主程序,可獨(dú)立運(yùn)行,主要功能為截圖并保存。
""" 本程序可獨(dú)立運(yùn)行,主要功能是截圖并保存""" import sys from time import sleep import keyboard from PIL import ImageGrab #pillow from baiduap import BaiDuAPI from getText import GetText def screenShot(): """用于截圖并保存""" print('請(qǐng)按F1開始截圖') if keyboard.wait(hotkey='f1')==None: print('復(fù)制剪切板的圖片,請(qǐng)按Ctrl+b,不復(fù)制繼續(xù)截圖') if keyboard.wait(hotkey='Ctrl+b')==None: sleep(0.02) #防止獲取的是上一張截圖 #復(fù)制剪貼板里面的圖片 im=ImageGrab.grabclipboard() im.save('Picture.png') if __name__=='__main__': baiduapi=BaiDuAPI('password.ini') for _ in range(sys.maxsize): screenShot() texts=baiduapi.picture2Text('Picture.png') print(texts) GetText.setText(texts) #剪貼板剪貼 sleep(0.02) GetText.getText() print('退出請(qǐng)按Ctrl+x') if keyboard.wait(hotkey='Ctrl+x')==None: name=input('請(qǐng)輸入保存圖像識(shí)別文字文件名:') f=open(name+'.txt','w') f.write(texts) f.close() break
2.2 baiduap.py 程序可獨(dú)立使用,主要功能是圖像文字識(shí)別。
from aip import AipOcr import configparser class BaiDuAPI: """圖片文字識(shí)別""" #初識(shí)化方法 def __init__(self,filePath): #self 就是BaiDuAPI() #讀取工單信息 target=configparser.ConfigParser() target.read(filePath) app_id=target.get('我的工單','App_ID') app_key=target.get('我的工單','App_KEY') secret_key=target.get('我的工單','SECRET_KEY') self.client=AipOcr( app_id, app_key,secret_key) def picture2Text(self,filePath): #讀取圖片 image=self.getPicture(filePath) texts=self.client.basicGeneral(image) #print(texts['words_result']) allTexts='' for word in texts['words_result']: allTexts=allTexts+word.get('words','') return allTexts @staticmethod def getPicture(filePath): with open(filePath,'rb') as fp: return fp.read() if __name__=='__main__': baiduapi=BaiDuAPI('password.ini') print(baiduapi.picture2Text('Picture.png'))
2.3 getText.py 程序,主要功能是把圖像識(shí)別出來的文字,保存到剪切板。
import sys import os.path import win32clipboard as w import win32con class GetText: def getText():#讀取剪切板 w.OpenClipboard() d = w.GetClipboardData(win32con.CF_TEXT) w.CloseClipboard() return d def setText(aString):#寫入剪切板 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardText(aString) w.CloseClipboard() if __name__=='__main__': GetText.setText('布衣弓長(zhǎng)') GetText.getText()
2.4 password.ini 文件,用記事本編寫,把百度云獲取的相關(guān)信息填進(jìn)去。內(nèi)容是:
[我的工單];節(jié)
App_ID=151313**
App_KEY=1V2LlBhLUYaHu2Y9*******
SECRET_KEY=fGufC1CbiZ0tw1imTGoIsaGO******
3.運(yùn)行。啟動(dòng)qq和剪貼薄查看器.exe,在python環(huán)境下運(yùn)行screenshot.py。
經(jīng)實(shí)測(cè):識(shí)別率高,能快速抓取多圖,但每運(yùn)行一次程序,只能識(shí)別保存在Picture.png文件里圖像的文字。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python實(shí)現(xiàn)識(shí)別相似圖片小結(jié)
- Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能
- Python+Opencv識(shí)別兩張相似圖片
- python驗(yàn)證碼識(shí)別的實(shí)例詳解
- python下調(diào)用pytesseract識(shí)別某網(wǎng)站驗(yàn)證碼的實(shí)現(xiàn)方法
- Python驗(yàn)證碼識(shí)別處理實(shí)例
- Python中利用Scipy包的SIFT方法進(jìn)行圖片識(shí)別的實(shí)例教程
- Python實(shí)現(xiàn)簡(jiǎn)單的語音識(shí)別系統(tǒng)
- kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法
- 詳解Python驗(yàn)證碼識(shí)別
相關(guān)文章
python中三種高階函數(shù)(map,reduce,filter)詳解
在Python中,函數(shù)其實(shí)也是一種數(shù)據(jù)類型,今天重點(diǎn)給大家介紹python中三種高階函數(shù)(map,reduce,filter)的相關(guān)知識(shí),感興趣的朋友一起看看吧2021-10-10Python信息處理庫Talon自動(dòng)抽取簽名信息
這篇文章主要為大家介紹了Python信息處理庫Talon自動(dòng)抽取簽名信息實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01基于Python-turtle庫繪制路飛的草帽骷髏旗、美國隊(duì)長(zhǎng)的盾牌、高達(dá)的源碼
這篇文章主要介紹了基于Python-turtle庫繪制路飛的草帽骷髏旗、美國隊(duì)長(zhǎng)的盾牌、高達(dá)的源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02python使用正則表達(dá)式檢測(cè)密碼強(qiáng)度源碼分享
客戶系統(tǒng)升級(jí),要求用戶密碼符合一定的規(guī)則,即:包含大小寫字母、數(shù)字、符號(hào),長(zhǎng)度不小于8,于是先用python寫了個(gè)簡(jiǎn)單的測(cè)試程序:2014-06-06python 調(diào)用pyautogui 實(shí)時(shí)獲取鼠標(biāo)的位置、移動(dòng)鼠標(biāo)的方法
今天小編就為大家分享一篇python 調(diào)用pyautogui 實(shí)時(shí)獲取鼠標(biāo)的位置、移動(dòng)鼠標(biāo)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法
這篇文章主要介紹了如何打包Python Web項(xiàng)目,實(shí)現(xiàn)免安裝一鍵啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05python生成器generator:深度學(xué)習(xí)讀取batch圖片的操作
這篇文章主要介紹了python生成器generator:深度學(xué)習(xí)讀取batch圖片的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05