当前位置: 首页 > news >正文

批量改图片DPI的Python脚本

批量改图片DPI的Python脚本

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

做学术论文、投期刊的朋友应该都懂,图片DPI这玩意儿平时不起眼,投稿的时候真能急死人。大部分期刊都要求300dpi以上,有的甚至要600dpi。但平时ArcGIS出图、截图啥的,默认都是72或者96dpi,每次投稿前都得一张张改,烦得要死。

之前用PS批量处理也麻烦,还容易卡。索性自己写了个Python脚本,把整个文件夹的图片全丢进去,一键搞定。亲测好用,分享给大家。


先说下DPI这事儿

很多人搞不清,其实改DPI不改变图片本身的像素,就是改个"打印清晰度标识"。简单说:

  • 72/96dpi:屏幕看看还行,打印就糊
  • 300dpi:普通印刷够用
  • 600dpi:学术论文、学位论文基本都要这个标准

所以改DPI不是把小图放大,只是告诉打印机"这图按高清来印"。


脚本怎么写的

直接上代码,我把注释都写清楚了,小白也能用。

核心部分其实就几行

最关键的就是Pillow这个库的save方法,给它传dpi参数就行:

from PIL import Image# 打开图片
with Image.open("你的图片.jpg") as img:# 保存的时候设置DPIimg.save("输出.jpg", dpi=(600, 600), quality=95)

就这么简单。JPG的话加个quality=95,画质损失很小。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_ok=True)count_ok = 0
count_skip = 0print("开始处理...\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 += 1print(f"跳过: {filename}")continuetry:with Image.open(filepath) as img:params = {'dpi': TARGET_DPI}# JPG额外加画质参数if ext in ('.jpg', '.jpeg'):params['quality'] = 95params['subsampling'] = 0# 保存img.save(os.path.join(OUTPUT_FOLDER, filename), **params)count_ok += 1print(f"完成: {filename}")except Exception as e:count_skip += 1print(f"失败: {filename} | {str(e)}")# 最后统计
print("\n" + "-"*40)
print(f"处理完了!成功: {count_ok} 张,跳过: {count_skip} 个")
print(f"文件存在这里: {os.path.abspath(OUTPUT_FOLDER)}")
print("-"*40)

怎么用

  1. 先装依赖:
pip install Pillow
  1. 脚本旁边新建个叫input的文件夹,把所有要改的图都扔进去

  2. 运行脚本,完事去output文件夹拿就行

  3. 验证的话,Windows右键图片→属性→详细信息里就能看到DPI变了


踩过的坑

  1. JPG要设quality=95:默认的保存质量太低,图会糊。设95几乎看不出区别,文件也不会太大

  2. 大小写问题:有的图片是.JPG大写,判断后缀的时候记得转小写

  3. 图片被占用:如果图片在PS或者其他软件里开着,会保存失败,关了就行

  4. TIFF格式:如果要处理tif,在格式判断里加上就行


亲测处理几百张图也就几秒钟,比PS动作快多了。做GIS、遥感的同学,出的那些专题图、示意图,用这个批量处理完直接就能插论文里。

http://www.jsqmd.com/news/987934/

相关文章:

  • 2026深圳拆装搬家服务专业服务商推荐:家具/空调/热水器专业拆移搬迁一站式服务 - 从来都是英雄出少年
  • 3个核心场景:从零开始配置yuzu Switch模拟器,让电脑流畅运行任天堂游戏
  • Comparative-analysis-of-hourly-load-forecasting-using-PatchTST-TFT-NHiTS-and-CatBoost源代码详解:核心组件与实现原理
  • 2026年6月最新版大同第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • 高效跨平台阅读体验:Awaken EPUB阅读器的四大核心优势与实战指南
  • 人生第一双高跟鞋品牌排行:轻奢舒适兼具纪念意义 - 起跑123
  • 扎根青岛24年!本土老牌防水楼长修楼真实测评 - 青岛防水品牌推荐
  • 青岛海边小区漏水频发?盐雾气候对防水层的致命影响 - 青岛防水品牌推荐
  • 3步掌握LLPlayer:从零开始的语言学习终极指南
  • Baserow企业级无代码平台:生产环境架构解析与高性能部署指南
  • 邮件配置与测试:awesome-checker-services邮件相关检查工具完全手册
  • cann/asc-devkit SinCosCompute性能调优样例
  • RPCS3终极指南:如何通过开源模拟器在PC上完美运行PS3游戏
  • StateSmith开发指南:从源码解析到贡献代码,成为开源项目参与者
  • pinche_xcx扩展功能开发:如何添加拼车费用计算与支付功能
  • 国际EMBA含金量高吗?2026五大高含金量国际EMBA项目解析 - 品牌2026推荐
  • Obsidian效率工具:Claudian插件的批量操作技巧
  • 如何让Continue成为你的AI编程搭档:从入门到精通的完整指南
  • vue表格使用 vxe-table 展开行实现产品列表与明细列表
  • 2026年6月最新版包头第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • CodeX Docs进阶开发:从用户到贡献者的成长之路
  • GolangBypassAV反沙箱技术:规避动态检测的关键策略
  • 2026澳洲本地留学移民机构排行 附选型避坑指南 - 互联网科技品牌测评
  • Strecs3D实战案例:悬臂梁模型的填充优化前后对比与效果分析
  • GraphQL-Go-Tools完全指南:构建高性能GraphQL API网关的终极解决方案
  • 澳洲本地高成功率留学移民机构权威排行 - 互联网科技品牌测评
  • statannotations API深度解析:Annotator类的完整使用指南与最佳实践
  • 3步解决老旧Mac蓝牙失效:OpenCore Legacy Patcher实用指南
  • 如何在5分钟内上手Timeflake?Python开发者必备的高效UUID生成工具
  • 儿童益智玩具市场持续增长!国内十大新款竹蜻蜓厂家综合实力盘点(附选型建议) - 企师傅推荐官