批量改图片DPI的Python脚本 | 写论文终于不用一张张改了

发布时间:2026/9/29 6:45:23

批量改图片DPI的Python脚本 | 写论文终于不用一张张改了
先说下DPI这事儿很多人搞不清其实改DPI不改变图片本身的像素就是改个打印清晰度标识。简单说72/96dpi屏幕看看还行打印就糊300dpi普通印刷够用600dpi学术论文、学位论文基本都要这个标准所以改DPI不是把小图放大只是告诉打印机这图按高清来印。脚本怎么写的直接上代码我把注释都写清楚了小白也能用。核心部分其实就几行最关键的就是Pillow这个库的save方法给它传dpi参数就行from PIL import Image # 打开图片 with Image.open(你的图片.jpg) as img: # 保存的时候设置DPI img.save(输出.jpg, dpi(600, 600), quality95)就这么简单。JPG的话加个quality95画质损失很小。PNG是无损的直接设dpi就行。完整的批量处理版本我加了遍历文件夹、格式过滤、异常处理这些直接用就行from PIL import Image import os # 这里改路径就行 INPUT_FOLDER r.\input # 把要处理的图放这个文件夹 OUTPUT_FOLDER r.\output # 处理完自动存在这里 TARGET_DPI (600, 600) # 论文就用600不用改 # # 自动创建输出文件夹 os.makedirs(OUTPUT_FOLDER, exist_okTrue) count_ok 0 count_skip 0 print(开始处理...\n) for filename in os.listdir(INPUT_FOLDER): filepath os.path.join(INPUT_FOLDER, filename) # 跳过文件夹 if not os.path.isfile(filepath): continue # 只处理图片 ext os.path.splitext(filename)[1].lower() if ext not in (.png, .jpg, .jpeg): count_skip 1 print(f跳过: {filename}) continue try: with Image.open(filepath) as img: params {dpi: TARGET_DPI} # JPG额外加画质参数 if ext in (.jpg, .jpeg): params[quality] 95 params[subsampling] 0 # 保存 img.save(os.path.join(OUTPUT_FOLDER, filename), **params) count_ok 1 print(f完成: {filename}) except Exception as e: count_skip 1 print(f失败: {filename} | {str(e)}) # 最后统计 print(\n -*40) print(f处理完了成功: {count_ok} 张跳过: {count_skip} 个) print(f文件存在这里: {os.path.abspath(OUTPUT_FOLDER)}) print(-*40)怎么用

相关新闻

三步永久保存QQ空间回忆:GetQzonehistory数据备份完整指南

三步永久保存QQ空间回忆:GetQzonehistory数据备份完整指南

2026/9/29 6:42:57

三步永久保存QQ空间回忆:GetQzonehistory数据备份完整指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,QQ空间承载了我们太多珍贵的青春记忆。然而…

BEVFormer 纯视觉3D检测实战:nuScenes数据集上NDS 56.9%复现与调优指南

BEVFormer 纯视觉3D检测实战:nuScenes数据集上NDS 56.9%复现与调优指南

2026/8/23 0:50:13

BEVFormer 纯视觉3D检测实战:nuScenes数据集上NDS 56.9%复现与调优指南在自动驾驶领域,3D感知技术正经历从依赖激光雷达到纯视觉方案的范式转变。BEVFormer作为这一变革中的里程碑式工作,通过时空Transformer架构将多视角相机输入统一转化为鸟…

高企税务稽查风险体检——从诊断到提升的全流程赋能

高企税务稽查风险体检——从诊断到提升的全流程赋能

2026/9/24 0:23:38

高企税务稽查风险体检——从诊断到提升的全流程赋能你的企业,能扛住一次税务稽查吗?一、监管正在发生的根本性转变2026年,高新技术企业及研发费用相关的税务监管经历了一场根本性转变。金税四期系统的全面上线,标志着税收征管正式…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…