python截图识别文字_python截图并转换文字「建议收藏」

python截图识别文字_python截图并转换文字「建议收藏」截图识别文字作者万开国[acewan]【摘要】本文主要介绍了使用pyHook、pythoncom、pytesseract、PIL、win32api等module实现python的截图识别文字功能。【正文】一准备及介绍1.pyhookpyHook通过pip直接安装比较困难,可以先下载whl文件再使用pip安装选择与python环境一致的文件下载,使用cmd导向到下载文件夹,执行安装即可其他modul…

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

截图识别文字

作者

万开国[acewan]

【摘要】

本文主要介绍了使用pyHook、pythoncom、pytesseract、PIL、win32api等module实现python的截图识别文字功能。

【正文】

一准备及介绍

1.pyhook

pyHook通过pip直接安装比较困难,可以先下载whl文件再使用pip安装

018541image.png

选择与python环境一致的文件下载,使用cmd导向到下载文件夹,执行安装即可

008378image.png

其他module直接在控制台使用pip命令安装即可

2.module介绍

Pyhook:用于windows平台,监听鼠标和键盘事件,

:提供了访问win32 api的能力

Pytesseract:基于google’s Tesseract-OCR的独立封装包

PIL:平台上的图像处理标准库

Win32api:封装windows win32 api额模块

二具体代码

# coding: utf8

import pyHook

import pythoncom

import pytesseract

import sys

from PIL import Image, ImageGrab

from win32api import GetSystemMetrics as

gsm

#提前绑定鼠标位置事件

old_x, old_y = 0, 0

new_x, new_y = 0, 0

full = False

hm = None

chinese = True

#图片识别文字方法,

def GetString(fileName):

#

print(imagePath)

if(chinese):

text = pytesseract.image_to_string(Image.open(fileName), lang=’chi_sim’)

else:

text = pytesseract.image_to_string(Image.open(fileName))

fl = open(‘Testxt.txt’, ‘w’)

fl.write(text)

fl.close()

print(text)

return

def on_mouse_event(event):

global old_x, old_y, new_x, new_y, full, hm

if full:

image = ImageGrab.grab((0, 0, gsm(0), gsm(1)))

else:

#鼠标左键按下时,记录当前鼠标位置为截图矩形对角线的起始点

if event.MessageName == “mouse left down”:

old_x, old_y = event.Position

#鼠标左键抬起时,记录当前位置为截图矩形对角线的结束点

if event.MessageName == “mouse left up”:

new_x, new_y = event.Position

#解除事件绑定

hm.UnhookMouse()

hm = None

image = ImageGrab.grab((old_x, old_y, new_x, new_y))

fiName=’printscreen.jpg’

image.save(fiName)

GetString(fiName)

if event.MessageName == “mouse left down”:

sys.exit()

return

def capture():

#创建钩子管理对象

hm = pyHook.HookManager()

#将已准备好的方法注册到鼠标事件

hm.SubscribeMouseAll(on_mouse_event)

#开始监听鼠标事件

hm.HookMouse()

#一直监听直到退出程序

pythoncom.PumpMessages()

capture()

三效果展示

截图效果:

090991image.png

转文字效果:

082502image.png

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132551.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 手机游戏开发综述[通俗易懂]

    手机游戏开发综述[通俗易懂]一、背景介绍  现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。  现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。除了语音数据以外,它们还可以发送和接收其它类型的数据。所以类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。当然就处理能力和性能而言,当前阶段的支持Java的手机很接近第二代控制台游戏机、80年

  • centOS7安装nginx及nginx配置「建议收藏」

    centOS7安装nginx及nginx配置「建议收藏」安装所需插件1、安装gccgcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译C,C++,Ada,ObjectC和Java等语言命令:查看gcc版本gcc-v一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到,安装命令:yum-yinstallgcc2、pcre、pcre-…

  • pip install 使用国内镜像

    pip install 使用国内镜像让PIP源使用国内镜像,提升下载速度和安装成功率。对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.tuna.tsinghua.edu.cn/…

  • python读取csv文件,将文件中第一列显示出来

    python读取csv文件,将文件中第一列显示出来文件:stu_info.csv代码:importcsv#导入csv模块try:file=open(‘stu_info.csv’,’r’)#打开文件exceptFileNotFoundError:print(‘文件不存在’)else:stus=csv.reader(file)#读取文件内容forstu…

    2022年10月31日
  • 基于java的学生信息管理系统源代码(javaweb学生管理系统源代码)

    /*学生信息管理系统,实现学生信息:*增加int[]a=newint[9]*删除*查找*更改*/importjava.util.Scanner;//导入java输入流importjava.lang.*;importjava.io.*;classStudent{ privatestaticStudent[]s=newStu

  • pycharm中如何导入库_如何把手变成手控

    pycharm中如何导入库_如何把手变成手控大家都知道,Python是一个极其方便的由库构建的编程语言。比如机器学习的库sklearn,文件读取pandas,文件读写xlwt,xlrt,矩阵运算numpy等等等等等等等等等等,多到你无法想象!那到底如何导入Python库呢?我们今天就来学习一下~点击File->NewProject,创建一个PyCharm项目,然后点击File->Settings->P…

发表回复

您的电子邮箱地址不会被公开。

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