使用python脚本大批量自动化处理图片上的ai水印

news/2025/10/17 13:08:38/文章来源:https://www.cnblogs.com/qtclm/p/19147583
import os
import time
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
import traceback
from pywinauto import  mousedef get_app_and_main_window(app_path):app = Application(backend="uia").start(app_path)# app = Application(backend="uia").connect(path=app_path)# 等待应用程序加载time.sleep(1)# 获取主窗口main_window = app.window(title_re=".*Inpaint.*", control_type='Window')# main_window.print_control_identifiers()main_window.wait('visible', timeout=10)print("已连接到应用程序主窗口")return app, main_windowdef open_file_with_ctrl_o(app, file_path):"""使用 Ctrl+O 快捷键打开文件对话框并选择文件参数:app_path: 应用程序路径file_path: 要打开的文件路径"""try:# 激活窗口确保接收键盘输入main_window = app.top_window()main_window.set_focus()# # 使用 Ctrl+O 打开文件对话框# # 常用的控制快捷键说明 # SHIFT +,CTRL ^,ALT %,空格键 {SPACE},BACKSPACE {BACKSPACE}、# {BS} or {BKSP},BREAK {BREAK},CAPS LOCK {CAPSLOCK},# DEL or DELETE {DELETE} or {DEL},DOWN ARROW {DOWN},# END {END},ENTER {ENTER} or ~,ESC {ESC},HELP {HELP},# HOME {HOME},INS or INSERT {INSERT} or {INS},LEFT ARROW {LEFT},# NUM LOCK {NUMLOCK},PAGE DOWN {PGDN},# PAGE UP {PGUP},PRINT SCREEN {PRTSC},# RIGHT ARROW {RIGHT},SCROLL LOCK {SCROLLLOCK},# TAB {TAB},UP ARROW {UP},+ {ADD},- {SUBTRACT},# * {MULTIPLY},/ {DIVIDE},send_keys('^o')  # ^ 代表 Ctrl 键print("已发送 Ctrl+O 打开文件对话框")# # 打印所有控件信息# # main_window.print_control_identifiers()# # 打开文件对话框,并点击打开main_window.child_window(title="文件名(N):", class_name="Edit").set_text(file_path)main_window.child_window(title="打开(O)", class_name="Button").click()print("已确认文件选择并打开")time.sleep(1)# 移动鼠标,左上角水印位置left_top_watermark_position = (742, 125)# 移动鼠标,右下角水印位置right_down_top_watermark_position = (824, 125)mouse.move(coords=left_top_watermark_position)# 指定位置,鼠标左击mouse.click(button='left', coords=left_top_watermark_position)# 将属性移动到(140,40)坐标处按下mouse.press(button='left', coords=left_top_watermark_position)# 将鼠标移动到(300,40)坐标处释放,mouse.release(button='left', coords=right_down_top_watermark_position)# 移动鼠标,左上角水印位置left_top_watermark_position_2 = (1133, 970)# 移动鼠标,右下角水印位置right_down_top_watermark_position_2 = (1250, 1000)mouse.move(coords=left_top_watermark_position_2)# 指定位置,鼠标左击mouse.click(button='left', coords=left_top_watermark_position_2)# 将属性移动到(140,40)坐标处按下mouse.press(button='left', coords=left_top_watermark_position_2)# 将鼠标移动到(300,40)坐标处释放,mouse.release(button='left', coords=right_down_top_watermark_position_2)print("水印区域框选完成")top_window=app.top_window()# top_window.print_control_identifiers()# 点击处理图像chuli_window=top_window.child_window(title="处理图像", control_type="Button")chuli_window.click()time.sleep(10)#  保存send_keys('^s')  # ^ 代表 Ctrl 键print("已发送 Ctrl+s 保存文件对话框")# 另存为# top_window.child_window(title="另存为", control_type="Button").click() #这里执行click后,程序会阻塞,暂时忽略# top_window_2=app.top_window()# top_window_2.print_control_identifiers()## # # 打开文件对话框,并点击打开# top_window_2.set_focus()# top_window_2.child_window(title="文件名(N):", class_name="Edit").set_text(out_file_path)# top_window_2.child_window(title="保存(S)", class_name="Button").click()return Trueexcept Exception as e:# print(f"操作过程中出现错误: {e}")traceback.print_exc()return Falsedef batch_replace_image(app,main_window,file_path):try:for i in os.listdir(file_path):if i.endswith('.png') or i.endswith('.jpg'):image_path = os.path.join(file_path, i)open_file_with_ctrl_o(app,image_path)# print(i)except Exception as e:# print(f"操作过程中出现错误: {e}")traceback.print_exc()return Falsedef app_kill(app):try:app.kill()print("已关闭应用程序")except Exception as e:print(f"关闭应用程序时出现错误: {e}")# 使用示例
if __name__ == "__main__":inpaint_path = r'D:\exe安装包\Inpaint_v9.1_x64.exe'file_path = r'E:\AI生成\AI绘本\10月15日'app, main_window = get_app_and_main_window(inpaint_path)batch_replace_image(app,main_window,file_path)app_kill(app)

有问题可以随时反馈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot结合阿里巴巴easyexcel,实现一键导出数据到Excel中

技术说明: springboot:2.1.4.RELEASE jQuery Ajax mysql:8.0.32 作业背景 我现在有个实体类,数据库里面有1000行数据,我需要实现全部自动导出到Excel表格中,接下来就是实现这个功能的额, pom.xml<dependency…

深入解析:PX4 无人机地面调试全攻略:从机械到参数的系统优化

深入解析:PX4 无人机地面调试全攻略:从机械到参数的系统优化pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…

以江协科技STM32入门教程的方式打开FreeRTOS——STM32C8T6如何移植FreeRTOS - 教程

以江协科技STM32入门教程的方式打开FreeRTOS——STM32C8T6如何移植FreeRTOS - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fon…

2025年陶瓷过滤板厂家推荐排行榜,白刚玉陶瓷过滤板,棕刚玉陶瓷过滤板,扇形陶瓷板,真空陶瓷过滤板,陶瓷滤膜,陶瓷过滤机配件公司推荐

2025年陶瓷过滤板厂家推荐排行榜:白刚玉、棕刚玉、扇形陶瓷板专业解析行业背景与发展现状在工业生产过程中,固液分离技术一直是关键环节,而陶瓷过滤板作为核心过滤材料,其性能直接影响生产效率和产品质量。随着环保…

springboot结合阿里巴巴easyexcel,实现一键把Excel数据导入数据库

技术说明: springboot:2.1.4.RELEASE jQuery Ajax mysql:8.0.32 作业背景 我现在有个Excel表,里面有1000行数据,我不可能一个个录入数据库的,必须使用一键导入Excel,实现全部自动导入数据库。接下来就是实现这个…

2025年10月长白山度假酒店推荐:民俗与国际品质兼得

在选择长白山度假酒店时,关键在于找到最适合自身实际需求的解决方案。中国旅游研究院《2024年四季度冰雪旅游满意度调研》显示,长白山区域酒店整体用户满意度达87.4%,其中“文化体验深度”与“服务响应时效”成为游…

2025年10月长白山度假酒店推荐:民俗与国际范兼得

在选择长白山度假酒店时,关键在于找到最适合自身实际需求的解决方案。中国旅游研究院《2024冰雪旅游用户满意度调研》显示,长白山区域度假酒店整体满意度为82.7%,其中“文化体验深度”与“服务响应效率”成为游客复…

2025年10月访客系统推荐:五强榜单与选型要点

在选择访客系统时,关键在于找到最适合自身实际需求的解决方案。中国安全防范产品行业协会2024年度《出入口控制与管理设备应用现状报告》显示,2023年国内访客管理软硬件市场规模已达47.6亿元,同比增长18.4%;其中Sa…

2025年工业设备安装厂家权威推荐榜:管道/电气/暖通空调/空压系统/纯水系统/厂房通风/车间配电/机械设备专业安装服务全景解析

2025年工业设备安装厂家权威推荐榜:管道/电气/暖通空调/空压系统/纯水系统/厂房通风/车间配电/机械设备专业安装服务全景解析随着我国制造业向高质量发展转型,工业设备安装行业作为支撑制造业基础设施建设的核心环节…

实习内推】机器人操作系统Dora-rs团队招募实习生(北京)

岗位: AI机器人开发实习生 地点: 北京市海淀区五道口 关于我们: Dora-rs是一个新兴的机器人开发平台,致力于解决传统机器人系统(如ROS)在面对现代AI应用时的性能瓶颈和集成难题。我们以Rust语言为核心,追求极致…

2025 上海财税服务机构优选榜:上海注册公司与代理记账领域靠谱服务商推荐

随着金税四期全面落地与企业数字化转型加速,上海企业对专业财税服务的需求持续攀升,注册公司代办、代理记账等服务已成为初创及成长型企业的刚需。2025 年上海日均新设企业突破 400 家,其中 85% 的企业选择委托专业…

实训题

import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from multiprocessing import freeze_support import sys def load_data(): tran…

GoodSync 2025年10月17日

GoodSync 2025年10月17日https://www.autoahk.com/archives/53171www.cnblogs.com/delphixx

书本p66实训题第2题

import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt import numpy as np 数据预处理 transform = t…

2025全屋定制厂家推荐:聚焦异形空间+特色色系,森佰特木业领衔优质之选

伴随家居个性化需求的持续升级,2025 年全屋定制市场不再局限于基础款式,而是朝着 “精准适配空间”“特色风格表达” 方向发展,异形空间全屋定制“莫兰迪色系全屋定制”“现代风全屋定制” 等细分需求显著增长。然而…

springboot 上传图片到服务器之后,前段不能正确加载图片问题

技术说明: springboot:2.1.4.RELEASE jQuery Ajax mysql:8.0.32 问题描述: springboot打成jar包,上传到服务器之后,在同目录下,又创建了一个upload目录,用来储存照片,但是前端引用url路径之后不能显示图片 问…

springboot 设置文件上传大小

技术说明: springboot:2.1.4.RELEASE jQuery Ajax mysql:8.0.32 问题描述: 上传文件一直报错,提示这问题,在yml配置了也没有用,后来发现问题了#文件上传servlet:multipart:# 设置单个文件最大内存max-file-size…

【光照】UnityURP[屏幕空间环境光遮蔽SSAO]原理剖析实践

本文探讨Unity URP中屏幕空间环境光遮蔽(SSAO)技术的实现。SSAO通过计算像素周围几何体的遮挡关系增强场景真实感,其发展经历了传统算法、优化改进和URP集成三个阶段。核心技术包括深度纹理采样、法线重建、遮蔽计算和…

Ai元人文:讨论一种新的决策科学

Ai元人文:讨论一种新的决策科学 岐金兰: 其实,问题的根源是人们狭隘的偏见, 更是,人们在工程化“价值”时忘记了, 或者是,有意无意地在回避, 在现实中,面对价值冲突时的真实场景和解决方法。 而且,在我们的构…

2025年流量计厂家权威推荐榜单:热式/模拟式/数字式/高压/高温/耐腐蚀/多气体/4-20mA/RS485/分体式/不锈钢高精度流量计公司精选

2025年流量计厂家权威推荐榜单:热式/模拟式/数字式/高压/高温/耐腐蚀/多气体/4-20mA/RS485/分体式/不锈钢高精度流量计公司精选在工业自动化与过程控制领域,流量计作为关键测量设备,其性能直接影响生产效率和产品质…