使用 Python 批量替换图片局部区域
原文地址:https://itxiaozhang.com/batch-replace-fixed-region-images-python/
本文配合视频食用效果最佳,视频版本在文章末尾。
一、需求分析
在实际工作中,我们常常会遇到这样的需求:
有一批尺寸一致的长图(如公众号长截图、拼接图等),需要在同一固定区域内替换为统一的内容,比如覆盖新的标题栏、状态栏、Logo 等。
目标要求如下:
- 只处理尺寸为 960×8049 的 PNG 图像;
- 替换区域为垂直方向上 第 115 至第 229 像素(高 114 像素);
- 使用一张大小为 960×114 的小图进行替换;
- 支持批量自动处理,提升效率;
- 提供错误处理和处理结果统计。
二、解决思路
我们使用 Python 语言和 Pillow 图像处理库来实现这一功能。整体流程如下:
遍历图像文件夹
仅处理.png
文件,并验证尺寸是否为 960×8049,其他自动跳过。图像处理逻辑
- 使用 Pillow 打开图片并转换为
RGBA
模式; - 将 960×114 的替换图粘贴到
(0, 115)
位置,覆盖目标区域; - 保存处理后的新图到输出文件夹。
- 使用 Pillow 打开图片并转换为
并发加速处理
借助 Python 内置的ThreadPoolExecutor
并发模块,支持多线程批量处理。日志记录与统计
实时输出每张图的处理结果,最终打印成功、跳过和失败数量。
三、关键代码片段
1 |
|
完整脚本中还包含:日志配置、多线程处理逻辑、输出统计等内容。运行脚本即可批量处理所有符合条件的图片。
四、使用方法
- 安装依赖:
1 |
|
- 准备目录结构:
1 |
|
- 运行脚本:
1 |
|
脚本会自动扫描 img/
目录中的图像文件,处理后保存到 out/
目录中。
视频版本
▶ 可以在关于或者这篇文章找到我的联系方式。
▶ 本网站的部分内容可能来源于网络,仅供大家学习与参考,如有侵权请联系我核实删除。
▶ 我是小章,目前全职提供电脑维修和IT咨询服务。如果您有任何电脑相关的问题,都可以问我噢。
使用 Python 批量替换图片局部区域
https://itxiaozhang.com/batch-replace-fixed-region-images-python/