国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現(xiàn)連續(xù)圖文識別

2020-01-04 13:47:06
字體:
供稿:網(wǎng)友

本文實例為大家分享了python實現(xiàn)連續(xù)圖文識別的具體代碼,供大家參考,具體內(nèi)容如下

1.工具:

1.1 剪切板。我下載并安裝使用的是剪切板查看器(clipbrd.exe),成功后顯示“剪貼薄查看器.exe”

1.2  截圖工具并設置熱鍵。保存圖片鍵和退出鍵可任意設置,注意不能同其它熱鍵沖突。我使用的是微信截圖,進入設置---進入快捷按鍵---把截取屏幕鍵改為F1。

1.3 Python 3.x,Windows環(huán)境

1.4 注冊百度云帳號,獲取Appid  API Key   Secret Key 

1.5 新建文件夾。我建的名叫‘圖文識別'文件夾(C:/Users/Administrator/AppData/Local/Programs/Python/Python35-32/圖文識別)

1.6 ‘圖文識別'文件夾下,有3個.py文件,分別是:screenshot.py  baiduap.py  getText.py;有1個配置文本文件是password.ini;有個圖像文件是Picture.png。

1.7 需要有以下第三方庫:keyboard、PIL、aip、configparser、win32con、win32clipboard。

2 完整代碼:

2.1 screenshot.py是主程序,可獨立運行,主要功能為截圖并保存。

""" 本程序可獨立運行,主要功能是截圖并保存"""import sysfrom time import sleepimport keyboardfrom PIL import ImageGrab #pillowfrom baiduap import BaiDuAPIfrom getText import GetText def screenShot():   """用于截圖并保存"""   print('請按F1開始截圖')   if keyboard.wait(hotkey='f1')==None:     print('復制剪切板的圖片,請按Ctrl+b,不復制繼續(xù)截圖')     if keyboard.wait(hotkey='Ctrl+b')==None:        sleep(0.02) #防止獲取的是上一張截圖        #復制剪貼板里面的圖片        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('退出請按Ctrl+x')      if keyboard.wait(hotkey='Ctrl+x')==None:        name=input('請輸入保存圖像識別文字文件名:')        f=open(name+'.txt','w')        f.write(texts)        f.close()        break

2.2 baiduap.py 程序可獨立使用,主要功能是圖像文字識別。

from aip import AipOcrimport configparser class BaiDuAPI:   """圖片文字識別"""   #初識化方法   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 程序,主要功能是把圖像識別出來的文字,保存到剪切板。

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('布衣弓長')   GetText.getText()

2.4 password.ini 文件,用記事本編寫,把百度云獲取的相關信息填進去。內(nèi)容是:

[我的工單];節(jié)
App_ID=151313**
App_KEY=1V2LlBhLUYaHu2Y9*******
SECRET_KEY=fGufC1CbiZ0tw1imTGoIsaGO******

3.運行。啟動qq和剪貼薄查看器.exe,在python環(huán)境下運行screenshot.py。

經(jīng)實測:識別率高,能快速抓取多圖,但每運行一次程序,只能識別保存在Picture.png文件里圖像的文字。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南丰县| 海丰县| 中宁县| 区。| 玛纳斯县| 策勒县| 吉安市| 梓潼县| 诸暨市| 三都| 尚义县| 新平| 吉隆县| 安岳县| 寿宁县| 来安县| 乌兰浩特市| 桐城市| 涪陵区| 长乐市| 金昌市| 鄂托克旗| 治县。| 昆明市| 高碑店市| 鄂伦春自治旗| 阿图什市| 灵宝市| 辉县市| 兴城市| 湾仔区| 乌鲁木齐县| 稷山县| 浪卡子县| 民乐县| 济南市| 龙门县| 且末县| 保德县| 和硕县| 阿图什市|