美文网首页
python手机投屏截图,自动文字提取小项目

python手机投屏截图,自动文字提取小项目

作者: Trade丿Life | 来源:发表于2019-08-17 15:48 被阅读0次

    相信大家都会遇到在手机做题的情况,这个时候遇到不会的题目我们肯定是要去百度的,几条不会的还好,敲一敲即可,可要是存在大量不会的题目咋办?那不是要敲题目敲到死。这个时候我这个小项目或许可以帮到你,快速截取手机的题目,提取出文字,你便可以直接百度寻找。灵感来源一位好友。

    1.代码组成

    运用PIL的截图程序

    运用百度开源文字提取技术文档

    百度的API可到百度智能云寻找<https://cloud.baidu.com

    2.上代码

    import time
    from PIL import ImageGrab
    import os
    from aip import AipOcr
    
    #这里是为了如果找不到png这个目录的情况自己建一个png目录
    absPath = os.path.abspath('.')
    #将所有python目录的文件输出
    
    path = [x for x in os.listdir('.') if os.path.isdir(x)]
    if 'png' in path:
        #print('yes')
        pass
    else:
        #创建目录把pg加薪C:\\python目录下新建一个目录pg
        pngPath = os.path.join(absPath,'pg')
        os.mkdir(pngPath)
    
    #截屏
    def Screenshot():
        nowtime = time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime(time.time()))
        print(nowtime)
    # 截屏语句很简单的
        im = ImageGrab.grab()
    # 保存(图个有png路径或者别的路径需要在这个路径下有这个目录,不然报错,所以我前面是做了规避,没路径我就自己建一个)
        im.save('C:\\python\\png\\'+nowtime+'.jpg')
    #保存在png目录下
    def wordRecognition(picturepath):
    
        """ 你的 APPID AK SK """
        APP_ID = '你的AppID,这些参数可以到百度智能云注册一个账号在里面找到'
        API_KEY = '你的API_Key'
        SECRET_KEY = '你的SECRET-KEY'
        client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
        def get_file_content(filePath):
            """ 读取图片 """
            with open(filePath, 'rb') as fp:
                return fp.read()
    
    
        image = get_file_content('C:\\Python\\png\\'+picturepath)  # 填入本地图片位置
        #print(image)
    
        """ 调用通用文字识别, 图片参数为本地图片 """
        client.basicGeneral(image)
    
        """ 如果有可选参数 """
        options = {}
        options["detect_direction"] = "true"
        options["detect_language"] = "true"
        options["probability"] = "true"
    
        """ 带参数调用通用文
        字识别, 图片参数为本地图片 """
        result = client.basicGeneral(image, options)
        #print(result)
        #print("1")
        result = result["words_result"]
        #print(result)
    
        for x in result:
            words = x["words"]
            print('{}'.format(words),end="")
    for i in range(5):
        print("截图!")
        time.sleep(3)
        Screenshot()
    
        print("暂停")
        print("\n")
        time.sleep(5) #定时10s看一下
        wordRecognition(os.listdir('C:\python\png')[i])
    
    

    3.小结

    第一个自己动手做的实用形小项目,编程来源于生活,加油。

    相关文章

      网友评论

          本文标题:python手机投屏截图,自动文字提取小项目

          本文链接:https://www.haomeiwen.com/subject/jkqksctx.html