截图文字识别工具

截图文字识别工具tkinter程序源码:初识Python,如有不足请多指教。importtkinterastkimportkeyboard#安装:pipinstallkeyboardfromPILimportImageGrab#pipinstallpillowimporttimefromaipimportAipOcr#pipinstallba…

大家好,又见面了,我是你们的朋友全栈君。

tkinter程序源码:初识Python,如有不足请多指教。

import tkinter as tk
import keyboard     # 安装: pip install keyboard
from PIL import ImageGrab   # pip install pillow
import time
from aip import AipOcr  # pip install baidu-api或者下载sdk后解压执行:执行python setup.py install


def center(win):
    """窗口居中函数"""
    win.update_idletasks()
    width = win.winfo_width() + 400
    height = win.winfo_height() + 260
    x = (win.winfo_screenwidth() // 2) - (width // 2)
    y = (win.winfo_screenheight() // 2) - (height // 2)
    win.geometry('{}x{}+{}+{}'.format(width, height, x, y))


window = tk.Tk()
window.title('截图文字识别工具')
# window.geometry('600x400')
center(window)


def insert_point():
    APP_ID = '你的app_id'
    API_KEY = '你的api_key'
    SECRET_KEY = '你的secret_key'
	# 调用百度ocr的API,申请方式请自行百度。
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    
    # 截取图片(截图软件)
    keyboard.wait(hotkey='alt+a')
    keyboard.wait(hotkey='enter')
    # 防止图片还未缓存就调用
    time.sleep(0.1)
    # 保存图片到电脑
    image = ImageGrab.grabclipboard()
    image.save('WzTp.jpg')
    """ 读取图片 """
    with open('WzTp.jpg', 'rb') as file:
        image = file.read()
        text = client.basicAccurate(image)
        res = text['words_result']
        for i in res:
            print(i['words'])
            # var = e.get()
            t.insert('insert', i['words']+'\n')
    t.insert('insert', '\n-----------------------------------------------------------------\n')


b1 = tk.Button(window, text='启动程序', width=20, height=2, command=insert_point)   #光标处插入
b1.pack()
t = tk.Text(window, height=25)
t.pack()
l = tk.Label(window, text='使用方法:Alt+A截图,然后Enter结束', width=30, height=1)
l.pack(expand='yes', fill='x')
window.mainloop()

软件截图如下:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131907.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Kubernetes上安装ELK监控

    Kubernetes上安装ELK监控

    2021年5月15日
    130
  • 基本开关电路

    一、晶体管开关电路:是一种计数地接通-断开晶体管的集电极-发射极间的电流作为开关使用的电路,此时的晶体管工作在截止区和饱和区。当需要输出大的负载电流时,由于集电极电流(负载电流)是放大基极电流而来的,所以必须能够从输入端提供大于1/Hfe的基极电流,这对于输出端的大负载电流情况下的基极驱动电路就无能为力。因此可以采用达林顿管来解决这个问题,达林顿管是一种复合管,它的直流放大倍数Hfe非常大…

    2022年4月5日
    59
  • $.ajax()方法详解学习

    在工作总是会有很多地方用到异步请求,有时候用快捷方法 get/post 或者getJson不能满足自己的需求,所以必须使用底层的ajax来实现异步请求,每次写完下次在用到的时候就记不清楚了,就在这里记录一下,方便自己以后使用和其他人学习! 主要是参考整理JQuery的文档和一些好博客内容!记录一下平常工作最常用的!

    2022年2月25日
    43
  • C6000汇编语言实现乘法,C6000(四)-汇编.ppt[通俗易懂]

    C6000汇编语言实现乘法,C6000(四)-汇编.ppt[通俗易懂]C6000(四)-汇编BIT/TI第四讲汇编语言初步第四讲汇编语言初步目的:用汇编语言编写简单程序学习内容汇编代码的结构汇编程序的构成编写简单算法:y=mx+b一、汇编代码的构成label:||[cond]instruction.unitoperand;comment常用伪指令二、汇编程序的构成程序=数据结构+算法汇编程序…

    2022年6月23日
    22
  • matlab生成浮雕灰度图,将照片做成浮雕灰度图[通俗易懂]

    matlab生成浮雕灰度图,将照片做成浮雕灰度图[通俗易懂]原标题:将照片做成浮雕灰度图做雕刻行业的朋友都知道,在日常的雕刻生产中常用到的文件格式有灰度图以及精雕的浮雕图。经常会接到一些客户的咨询,如何将照片做成浮雕灰度图?在回答这个问题之前,我觉得有必要先说下浮雕灰度图的概念。灰度图像指的是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑…

    2022年6月20日
    42
  • Android SDK下载和环境变量配置

    Android SDK下载和环境变量配置一.AndroidSDK简介AndroidSDK(SoftwareDevelopmentKit,软件开发工具包)被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。它提供了AndroidAPI库和开发工具构建,测试和调试应用程序。简单来讲,AndroidSDK可以看做用于开发和运行Android应用的一个软件。二.AndroidSDK下载1.国内的Android工具的下载网站:https://www.androiddevtools.

    2022年7月19日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号