python 【文字识别】
1 #截图并保存本地 2 import keyboard 3 4 from PIL import ImageGrab,Image 5 6 from time import sleep 7 8 import sys 9 10 from baiDu import BaiduAPI 11 12 def screenShot(): 13 #监听按压事件 14 15 16 17 if keyboard.wait(hotkey="ctrl+alt+a") == None: 18 19 20 sleep(1) 21 ##获取剪贴板的图片 22 im=ImageGrab.grabclipboard() 23 24 if isinstance(im,Image.Image): 25 26 im.save("Justice.png") 27 28 else: 29 30 print("重新截图") 31 if __name__ == "__main__": 32 33 #创建对象 34 baiduapi = BaiduAPI('api.ini') 35 for i in range(sys.maxsize): 36 37 screenShot() 38 39 print(baiduapi.PictureToText("Justice.png")) 40 41 42 43 44
1 import configparser 2 3 #百度云的API 4 from aip import AipOcr 5 6 class BaiduAPI(): 7 8 9 '''调用百度云的API实现文字识别''' 10 11 12 def __init__(self,filePath=None): 13 14 15 #初始化 16 target = configparser.ConfigParser() 17 target.read(filePath) 18 #读取工单 19 APP_ID = target.get('工单密码','App_ID') 20 API_KEY = target.get('工单密码','API_KEY') 21 SECRET_KEY = target.get('工单密码','SECRET_KEY') 22 23 self.client = AipOcr(APP_ID, API_KEY, SECRET_KEY) 24 25 26 def PictureToText(self,filePath): 27 '''图像转文字''' 28 image = self.getPicture(filePath) 29 #文字识别 30 texts = self.client.basicGeneral(image) 31 32 print(texts) 33 allTexts ="" 34 35 for words in texts['words_result']: 36 allTexts += "".join(words.get("words", "")) 37 38 return allTexts 39 40 @staticmethod #静态方法 41 def getPicture(filePath): 42 43 with open(filePath,"rb") as fp: 44 45 return fp.read() 46 47 if __name__ == "__main__": 48 49 #创建对象 50 baiduapi = BaiduAPI('api.ini') 51 52 baiduapi.PictureToText("Justice.png")

1 import win32con 2 3 import win32clipboard as w 4 5 6 class GetText: 7 '''图像内容识别的内容返回给剪切板''' 8 9 @staticmethod 10 def getText(): 11 '''获取剪贴板的内容''' 12 w.OpenClipboard() 13 d = w.GetClipboardData(win32con.CF_UNICODETEXT) 14 w.CloseClipboard() 15 return d 16 17 @classmethod 18 def setText(cls,aString): 19 '''需要传递个参数用于复制到剪贴板''' 20 w.OpenClipboard() 21 w.EmptyClipboard() 22 w.SetClipboardData(win32con.CF_UNICODETEXT,aString) 23 w.CloseClipboard() 24 25 if __name__ == "__main__": 26 27 GetText.setText("Justice") 28 GetText.getText()
1 import win32con,time 2 3 import win32clipboard as w 4 5 6 class GetText(object): 7 8 @staticmethod 9 def getText(): 10 11 w.OpenClipboard() 12 d = w.GetClipboardData(win32con.CF_UNICODETEXT) 13 w.CloseClipboard() 14 return d 15 @classmethod 16 def setText(cls,aString): 17 18 w.OpenClipboard() 19 w.EmptyClipboard() 20 w.SetClipboardData(win32con.CF_UNICODETEXT,aString) 21 w.CloseClipboard() 22 23 if __name__ == '__main__': 24 25 GetText.setText("Justice") 26 time.sleep(3) 27 GetText.getText()
一个二次元的生物

浙公网安备 33010602011771号