from PIL import Image
import imagehash
# import pygetwindow
from PIL import ImageGrab
import pyautogui
import time
import os
def get_similarity(img1: str, img2: str) :
image1 = Image.open(img1)
image2 = Image.open(img2)
# 转换为灰度图
image1_gray = image1.convert('L')
image2_gray = image2.convert('L')
# 计算相似度
hash1 = imagehash.average_hash(image1_gray)
hash2 = imagehash.average_hash(image2_gray)
similarity = hash1 - hash2
return similarity
def grap_img_from_window():
# 获取显示器分辨率
# w, h = gw.size()
# print(f"w={w}, h={h}")
# 定义想要截图的区域,(left, top, right, bottom)
left, top, right, bottom = 357, 66, 530, 166
# 截取屏幕指定区域
screenshot = ImageGrab.grab(bbox=(left, top, right, bottom))
screenshot.save('estop2.png')
def grap_img_load():
left, top, right, bottom = 3, 150, 309, 238
screenshot = ImageGrab.grab(bbox=(left, top, right, bottom))
screenshot.save('trace_load2.png')
def grap_img_export():
left, top, right, bottom = 739, 147, 1080, 224
screenshot = ImageGrab.grab(bbox=(left, top, right, bottom))
screenshot.save('export2.png')
def exe_click(x, y, is_double) :
# 移动鼠标到指定坐标
pyautogui.moveTo(x, y)
# 在指定坐标单击鼠标左键
if is_double:
pyautogui.doubleClick()
else:
pyautogui.click()
# pyautogui.click()
def check_load():
is_out = True
while is_out:
time.sleep(0.5)
grap_img_load()
same = get_similarity('trace_load.png', 'trace_load2.png')
if (int(same) < 10):
is_out = False
def check_export():
is_out = True
while is_out:
time.sleep(0.5)
grap_img_export()
same = get_similarity('export.png', 'export2.png')
if (int(same) < 10):
is_out = False
if __name__ == "__main__":
exe_click(1569, 63, False)
time.sleep(0.5)
for file in os.listdir("./trace"):
if file.endswith(".esotrace"):
filename = file.replace(' ', '')
os.rename(rf"./trace/{file}", f"./trace/{filename}")
os.system(rf"start ./trace/{filename}")
check_load()
exe_click(21, 48, False) # 点击file
time.sleep(0.5)
exe_click(78, 340, False) # 点击export
time.sleep(0.5)
exe_click(957, 663, False) # 点击下一步
time.sleep(0.5)
exe_click(1116, 664, False) # 点击finish
time.sleep(0.5)
check_export()
time.sleep(0.5)
exe_click(1095, 648, False) # 点击OK
time.sleep(0.5)
exe_click(1884, 15, False) # 点击关闭
time.sleep(0.5)
Python利用图片识别操作电脑软件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。 图片识别文字的...
- 工作中,我们经常会遇到需要复制PDF文档、或者图片中大段文字的需求。通常的办法只能老老实实的一个字一个字的手动打出...
- 记录名片识别和图片转文字。腾讯AI开放平台提供的名片OCR很强大, 而且可以免费使用, 所以本文使用的是腾讯AI开...
- 之前看到一个不错的界面,下载后发现无法显示预览图,以为是图片的扩展名错了,仔细一看,扩展名是.webp,那么web...