Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

本文主要是介绍Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

---------------Pillow教程集合---------------

Python项目18:使用Pillow模块,随机生成4位数的图片验证码

Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印

Pillow教程05:NumPy数组和PIL图像的相互转化

Pillow教程06:将图片中出现的黄色和红色,改成绿色

Pillow教程07:批量将png图片,合成GIF动态图

Pillow教程08:调整图片的亮度+对比度+色彩+锐度

1.图片的格式多种多样,常见的有bmp、jpg、png、gif、tiff、psd、ai、webp、eps、svg、cdr、pcd、dxf、raw等。这些格式各有特点,适用于不同的场景和需求。
bmp:是一种与硬件设备无关的图像文件格式,使用非常广泛。它支持1-24bit色彩,无损保存图像每个像素的信息,因此文件通常比较大。
jpg(或jpeg):是一种常见的、有损压缩的图像格式,被广泛用于数字照片的存储和传输。通过去除图像中一些肉眼不易察觉的数据以节省存储空间。
png:是一种无损压缩格式,支持24bit色彩,压缩不失真并支持透明背景和变显图像。PNG格式图像文件消除图像文件的锯齿边缘效应,可以得到平滑的边缘图像。
ICO (Icon) 是一种用于图标文件的格式,通常用于存储应用程序图标、文件夹、文件等在图形用户界面(GUI)中的小图像。这些图标通常很小,以便在工具栏、菜单或其他用户界面元素中快速显示。
gif:是一种动画和简单的短视频格式,只支持256色,通常用于网页和社交媒体上的动画图像。同时支持透明背景和动画。
tiff:是一种高质量的无损压缩格式,通常用于印刷和出版行业。它支持多种色彩模式,包括RGB、CMYK等,并且具有灵活的标签功能,可以存储大量与图像相关的信息。
raw:是数码相机拍摄照片时最常用的格式之一,它是一种未经压缩的图像格式,保留了相机捕捉的所有信息。需要专门的软件进行处理和转换才能成为常见的图片格式。
webp:是Google开发的一种同时提供了有损压缩与无损压缩的图片文件格式,派生自图像编码格式VP8。
2.使用Pillow图像格式的读取、处理和保存,来实现JPG、PNG、ICO和BMP等格式互转。另外,保存图像时指定格式参数(如’JPEG’、‘PNG’)是很重要的,因为Pillow会根据这个参数来决定如何编码图像数据。如果不指定格式,Pillow会尝试根据文件扩展名来猜测格式,但这并不总是可靠的。
在这里插入图片描述

from PIL import Image# 1.JPG转PNG
def jpg_to_png():# 1.打开JPG图像jpg_image = Image.open('input.jpg')# 2.保存为PNG格式jpg_image.save('output.png', 'PNG')# 2.PNG转JPG
def png_to_jpg():png_image = Image.open('input.png')png_image.save('output.jpg', 'JPEG')# 3.PNG转BMP
def png_to_bmp():png_image = Image.open('input.png')png_image.save('output.bmp', 'BMP')# 4.PNG转ICO
def png_to_ico():png_image = Image.open('input.png')png_image.save('output.ico', 'ICO', sizes=[(32, 32)])

如果你想批量转换指定的图片格式,可以试试以下代码。os.path.splitext() 是os.path模块中的一个函数,用于将文件路径拆分为文件名和扩展名两部分。这个函数返回一个元组,第一个元素是文件名(不包含扩展名),第二个元素是扩展名(包含点号 .)。

# @Author : 小红牛
# 微信公众号:WdPython
from PIL import Image
import os# 1.设置输入和输出文件夹路径
input_folder = '素材图片'
output_folder = 'output_images'# 2.如果输出文件夹不存在,则创建它
if not os.path.exists(output_folder):os.makedirs(output_folder)# 3.设置输出图片格式和品质(可选,对于JPEG格式)
output_format = 'JPEG'
quality = 90  # 0 (最差质量, 最小文件大小) 到 100 (最佳质量, 最大文件大小)# 4.遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):# 检查文件扩展名,确保只处理图片文件if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):# 5.拼接完整的输入和输出文件路径input_path = os.path.join(input_folder, filename)base_name, ext = os.path.splitext(filename)output_path = os.path.join(output_folder, base_name + '.' + output_format.lower())print(output_path)# 6.打开图片并保存为新的格式with Image.open(input_path) as img:img.save(output_path, output_format, quality=quality)print(f'转换完成,图片已保存到 {output_folder}')

3.可以使用Image.resize()方法来调整单张图片的尺寸。如果你想批量修改多个图片的尺寸,你需要写一个循环来遍历所有的图片,并对每张图片调用resize()方法。

导入必要的模块。
设置目标尺寸,即你希望图片调整到的尺寸。
指定包含图片的文件夹路径。
使用os.listdir()遍历文件夹中的所有文件。
检查每个文件是否以常见的图片扩展名结尾(.png, .jpg, .jpeg, .bmp, .gif)。
对于每个图片文件,打开它,使用resize()方法调整其尺寸,并保存到一个新的文件夹中。

# @Author : 小红牛
# 微信公众号:WdPython
import os
from PIL import Image# 0.把修改后的图片放到output里面(如果不存在则创建)
output_folder = 'output_images'
if not os.path.exists(output_folder):os.makedirs(output_folder)# 1.设置目标尺寸
target_size = (800, 600)  # 新的宽度和高度# 图片所在的文件夹路径
input_folder = '素材图片'# 2.遍历文件夹中的所有文件
for filename in os.listdir(input_folder):print(filename)# 确保只处理图片文件if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):# 3.拼接完整的文件路径input_path = os.path.join(input_folder, filename)# 打开图片img = Image.open(input_path)# 4.调整图片尺寸resized_img = img.resize(target_size, Image.BICUBIC)# 拼接输出文件的完整路径output_path = os.path.join(output_folder, filename)# 5.保存调整尺寸后的图片resized_img.save(output_path)

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理

这篇关于Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873611

相关文章

LangChain转换链:让数据处理更精准

1. 转换链的概念 在开发AI Agent(智能体)时,我们经常需要对输入数据进行预处理,这样可以更好地利用LLM。LangChain提供了一个强大的工具——转换链(TransformChain),它可以帮我们轻松实现这一任务。 转换链(TransformChain)主要是将 给定的数据 按照某个函数进行转换,再将 转换后的结果 输出给LLM。 所以转换链的核心是:根据业务逻辑编写合适的转换函

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格

PS系统教程25

介绍软件 BR(bridge) PS 配套软件,方便素材整理、管理素材 作用:起到桥梁作用 注意:PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索,有免费安装指导。 安装之后,我们打开照片只需双击照片,就自动在Ps软件中打开。 前提:电脑上有PS软件 三种预览格式 全屏预览 评星级 直接按数字键就可以 方向键可以更换图片 esc退出 幻灯片放