python实现截图获取图片内容并翻译

python实现截图获取图片内容

      • python代码
      • macOS使用开机自启运行脚本,部分参数需自行修改,[如何设置macOS开机启动脚本](https://jingyan.baidu.com/article/9c69d48fe7a2c913c9024eb6.html)

只需把图片或者截图放到fileDir目录中就可以提取图片的内容

python代码

import os
import time
import pyperclip
from aip import AipOcr


def init():
    APP_ID = "21197258"
    API_KEY = "2nh0SuB0Z1zbZFtR6mfATYVb"
    SECRET_KEY = "rwXvvdP1iufWGhWGWFfwp0oSPE2gDTfN"
    aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    return aipOcr


def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()


def result(filePath, options):
    result = ""
    try:
        data = aipOcr.basicGeneral(get_file_content(filePath), options)
    except:
        raise ConnectionError("网络连接异常!")
    words_result = data['words_result']
    for i in range(len(words_result)):
        result += words_result[i]['words']
    pyperclip.copy(result)


if __name__ == '__main__':

    """存放要识别照片的目录"""
    fileDir = r"/Users/jeffrey/screen"

    """只需要的文件类型"""
    fileType = ["png", "jpg", "bmp"]

    """刷新间隔秒数"""
    waitTime = 2

    """定义参数变量"""
    options = {
        'detect_direction': 'true',
        'language_type': 'CHN_ENG',
    }

    """获取指定目录下的文件,第一次运行不会处理这些文件"""
    oldPhotoList = os.listdir(fileDir)
    while True:
        time.sleep(waitTime)
        newPhotoList = os.listdir(fileDir)
        """利用set集合不可重复性获取不一致的信息"""
        diffList = list((set(oldPhotoList) ^ set(newPhotoList)))
        if len(diffList) >= 1:
            for i in diffList:
                oldPhotoList.append(i)
                diffList.remove(i)
                target = fileDir + os.sep + i
                if not os.path.exists(target):
                    print("文件不存在")
                    continue
                if os.path.splitext(target)[-1].replace(".", "") not in fileType:
                    print("这不是一张图片")
                    continue
                aipOcr = init()
                result(target, options)
                print("已将结果复制到粘贴板")
    pass

macOS使用开机自启运行脚本,部分参数需自行修改,如何设置macOS开机启动脚本

# >>> conda initialize >>>
# 切换到python38
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/jeffrey/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/jeffrey/opt/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/jeffrey/opt/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/jeffrey/opt/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup


conda activate py38
cd /Users/jeffrey/Desktop/快捷脚本/py
python OCR图片识别.py```

你可能感兴趣的:(pytho,nUtil)