借助python程序修改图片DPI

news/2024/9/23 19:00:06/

前言

       哈喽哈喽友友们,本期小北为大家分享一个图片处理的小技巧——当遇到系统要求修改照片DPI的300,如何解决这个问题呢?

什么是DPI

       DPI的全称是Dots Per Inch,就是每英寸点数,最早指的是指每一英寸长度可以打印的点的数目, DPI值越高,表明打印机的打印精度越高。后来也可以指图片的清晰程度,一般来说,冲洗或打印图片,必须是300dpi或者更高350dpi。

以下有两种方法来解决这个问题:

一、借助已有平台(但是有试用次数限制)

1.登录改图宝平台:

改图宝 - 在线修改照片大小尺寸工具 (gaitubao.com)icon-default.png?t=N7T8https://www.gaitubao.com/在导航菜单中找到【修改分辨率】菜单。

2.上传素材图片,选择合适的dpi,点击【开始上传并修改】,稍等片刻就修改照片dpi完毕了。
3.处理完毕,下载到本地

图片

分析平台每天只能允许免费使用5次,如果图片数量较多就可以考虑用以下方法解决。

二、借助python程序

1.python中提前安装Image库。
pip install Image
2.新建两个文件夹,一个“待处理”文件夹用来存放修改前的图片,另一个"已处理"文件夹用来存放修改后的图片。
3.运行以下代码:(统一宽高
python">from PIL import Image
from pathlib import Path
if __name__ == '__main__':width = 480  # 统一的宽height = 640  # 统一的高src_folder = Path('C:\\Fig')  # 设置源文件目录des_folder = Path('C:\\Fig DPI Python')  # 设置处理后的目录if not des_folder.exists():des_folder.mkdir(parents=True)file_list = list(src_folder.glob('*.jpg')) # '*.jpg' 表示任何以jpg结尾的图片for i in file_list:des_file = des_folder / i.namedes_file = des_file.with_suffix('.jpg') # '.jpg' 表示图片的目标格式im = Image.open(i)im = im.resize((width, height), Image.BILINEAR)im = im.save(des_file, quality=100, dpi=(300.0, 300.0))#修改目标dpi:300print(f'{i.name}转换格式完成')
默认
python">from PIL import Image  
from pathlib import Path  if __name__ == '__main__':  src_folder = Path(r'C:\Fig')  # 设置源文件目录,使用原始字符串  des_folder = Path(r'C:\Fig DPI Python')  # 设置处理后的目录,使用原始字符串  if not des_folder.exists():  des_folder.mkdir(parents=True)  # 遍历源文件夹中的所有jpg图片  for image_path in src_folder.glob('*.jpg'):  # 构建目标文件路径,保持相同的文件名  des_file = des_folder / image_path.name  # 打开图片并直接保存到目标路径  with Image.open(image_path) as im:  im.save(des_file, quality=100)  # 保存图片,保持原始质量  print(f'{image_path.name} 已复制到目标文件夹')
3.大功告成。

图片

分析此方法适合图片比较多的情况,处理速度很快,前提是需要有python基础。


http://www.ppmy.cn/news/1456515.html

相关文章

HNU-人工智能-实验4-基于Resnet的分类器

前言 本实验是自选实验,可以在给定范围内选择。 我刚刚提交了实验报告,暂时不准备放出我自己的实验报告,大概在截止提交之后我再放。 之所以这么着急写blog,是想便利还没做实验的同学。 如果选择的也是这个“毒蘑菇识别”的分类器…

React 之 内置标签<Fragment> (<>...</>) (十一)

通常使用 <>…</> 代替&#xff0c;它们都允许你在不添加额外节点的情况下将子元素组合。相当于vue的内置标签<template/> 1. 返回多个元素 <><OneChild /><AnotherChild /> </>2. 分配多个元素给一个变量 和其他元素一样&#xf…

OceanBase 分布式数据库【信创/国产化】- OceanBase 配置项和系统变量概述

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 配置项和系统变量概述前言OceanBase 数据更新架构OceanBase 配置项和系统变量概述配置项配置项分类配置项查询系统变量系统变量分类系统变量查询配置项与系统变量的区分OceanBase 分布式数据库…

2024年小程序视频下载器

2024年&#xff0c;一款全新的视频下载神器——小程序视频下载器横空出世&#xff01;无论你想下载哪个平台的视频&#xff0c;只需简单几步&#xff0c;即可轻松将视频保存到你的手机或电脑中。无论是学习资料还是娱乐内容&#xff0c;我们的下载器都能满足你的需求。无论你在…

鸿蒙 DevEcoStudio:组件实例(页面及组件生命周期函数)

【使用onPageshow等生命周期函数】 在entry/src/main/ets/pages路径下创建Page1.ets: import router from ohos.router Entry Component struct Page1 {State message: string Hello WorldState show: booleantrueaboutToAppear(){console.log(Page1组件创建实例)}aboutToDisa…

【android 更改三方相机配流size】

前言 强制修改三方相机配流size, 拍照和预览都可以 声明&#xff1a; 本帖用的是安卓开源代码&#xff1a; http://aospxref.com/android-14.0.0_r2/xref/frameworks/av/services/camera/libcameraservice/api2/CameraDeviceClient.cpp#867 修改方案 867 binder::Status C…

什么是视频号小店?为什么这么多人都在做?一文带你轻松入门!

大家好&#xff0c;我是电商花花。 现在电商的快速发展&#xff0c;电商行业在各大电商平台上不断发展&#xff0c;而视频号小店也被更多人看到和入驻&#xff0c;让更多创业者对视频号小店产生兴趣。 知道的人都觉得视频号小店是一个不可多得的创业项目&#xff0c;因为这里…

Golang | Leetcode Golang题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; func addBinary(a string, b string) string {ans : ""carry : 0lenA, lenB : len(a), len(b)n : max(lenA, lenB)for i : 0; i < n; i {if i < lenA {carry int(a[lenA-i-1] - 0)}if i < lenB {carry int(b[lenB-i-1…