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

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

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

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

相关推荐

  • 可以搜索国外网站的搜索引擎_国外的搜索引擎排行

    可以搜索国外网站的搜索引擎_国外的搜索引擎排行提到国外的搜索引擎(SearchEngine),大家想到的大概首先就是Google,也许还有Bing。其实在互联网世界里还有千奇百怪的各种各样的搜索引擎,它们有各自的用途、各自的特点。今天我们在这里

    2022年8月4日
  • 计算机网络协议汇总_帧中继是一种什么协议

    计算机网络协议汇总_帧中继是一种什么协议阅读目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARP/RARP协议6.路由选择协议7.TCP/IP协议8.UDP协议 9.DNS协议10.NAT协议11.DHCP协议12.HTTP协议13.一个举例  计算机网络学习的核心内容就是网络协议的学习。网络…

    2022年9月1日
  • 计算几何模板(全)

    计算几何模板(全)

    2021年9月27日
  • go struct转map_golang map

    go struct转map_golang mapGo字符串转Map和Map的嵌套取值想用Go写爬虫联系一下语法的,结果数据类型转换还不熟悉。map嵌套取值就会报错typeinterface{}doesnotsupportindexing字符串转Map//示例字符串resString:=`{ “args”:{}, “headers”:{ “Accept-Encoding”:”gzip”, “Host”:”httpbin.org”, “User-Agent”:”GRequests/0.10

    2022年9月10日
  • 联想Win10安装Ubuntu双系统教程

    联想Win10安装Ubuntu双系统教程前言:最近为了更好的做一名程序员(猿),所以准备装一个双系统,也就是Ubuntu系统,网上坑太多,所以决定自己写一点操作步骤首先看一下我的计算机配置,联想小新700Tip:这里的安装步骤仅仅针对联想Win10改型号或者相关型号,其他品牌型号安装过程可能有所差异,在这里不多说(因为穷,没用过其他的)首先要明确装双系统有一个步骤,在这里分为:(1)下载Ubuntu镜像文件;(2…

    2022年7月24日
  • ZOJ Problem Set – 2563 Long Dominoes 【如压力dp】

    ZOJ Problem Set – 2563 Long Dominoes 【如压力dp】

    2022年1月13日

发表回复

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

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