利用Python实现批量转换图片格式

 更新时间:2025年08月14日 09:34:25   作者:码无止尽  
本文重点介绍普通图片格式怎么相互转换,如jpg格式图片怎么批量转化为png格式,在深度学习项目中,有时我们收集到的数据集图片格式不统一,有的代码支持多种格式图片输入,有的则只支持个别格式,所以这时,我们需要通过脚本来转换图片格式,不说废话,直接上代码

各位小伙伴们,你是不是也厌倦了那些单调乏味的图片格式?又或者饱受不同格式的图片文件所困扰?别急,今天小编来给你送上一份活泼有趣的Python教程,让我们一起告别单调,迎接多彩多姿的图片世界吧!

准备工作

首先,我们要准备一些好玩的东西。拿上你的Python装备吧!另外,还需要使用到PIL库(Python Imaging Library),这个家伙可是我们图片处理的得力助手哦!

PIL库的安装:

pip install Pillow

代码实现

from PIL import Image
import os
 
def convert_images_in_folder(input_folder,output_folder,output_format):
   os.makedirs(output_folder,exist_ok=True)
   for filename in os.listdir(input_folder):
       input_path = os.path.join(input_folder,filename)
       if os.path.isfile(input_path):
           output_filename = f"{os.path.splitext(filename)[0]}.{output_format}"
           output_path = os.path.join(output_folder,output_filename)
           with Image.open(input_path) as img:
               img.save(output_path)
 
# 测试
convert_images_in_folder('input_images','output_images','png')

代码解析

这段代码虽然短小,但却包含了PIL库的应用、文件处理、以及图片格式转换的精彩操作。Python就像是一个色彩斑斓的调色盘,在你的世界里添上不一样的色彩!

这段代码实现了批量转换图片格式的功能。让我来逐步解释一下:

1.首先是导入了PIL库中的Image模块以及Python的os模块。PIL库是Python Imaging Library,提供了图像处理的基本功能,os模块则用于系统交互操作。

2.定义了名为convert_images_in_folder的函数,该函数接收三个参数:

3.使用os.makedirs(output_folder,exist_ok=True)创建输出文件夹,如果文件夹已存在则不会报错(exist_ok=True)。

4.使用os.listdir(input_folder)遍历输入文件夹中的所有文件,对每个文件进行格式转换。

5.对于每个文件,获取其完整路径input_path,并检查它是否是文件(os.path.isfile(input_path))。

6.如果是文件,则根据原文件名生成转换后的文件名output_filename,并拼接得到输出路径output_path

7.使用PIL库中的Image.open打开原图片,然后使用save方法保存为指定格式的图片。

8.最后,在测试部分调用convert_images_in_folder函数进行测试,将输入文件夹input_images中的图片转换为png格式,并保存到输出文件夹output_images中。

这段代码利用PIL库实现了批量转换图片格式的功能,让图片处理变得如此轻松!希望这个解释能帮助你理解这段有趣的图片处理代码!如果有其他问题,随时提问哦!

  • input_folder:输入图片所在的文件夹路径
  • output_folder:转换后图片要保存的文件夹路径
  • output_format:要转换成的图片格式(如'png'、'jpeg'等)

激动人心的测试

快来跟着小编的指引,将你收集的图片集变出花样吧!只需要将输入文件夹路径、输出文件夹路径和目标格式简单地传入convert_images_in_folder函数,Python就能帮你完成格式转换的魔法!

我的【待转换格式的图片】这个文件夹在桌面:

目前的格式都是jpg的,我想把它们都转成png的格式,并输出到桌面上的【转换后的图片】文件夹里。接着要上我们的代码了,只需要把最后一行的参数改一下:

convert_images_in_folder(
    'C:/Users/olive/Desktop/待转换格式的图片',
    'C:/Users/olive/Desktop/转换后的图片',
    'png')

接着,运行一下我们的代码,速度很快,马上在我们的桌面上的【转换后的图片】文件夹里生成了转换后的图片:

我们注意看两点,第一,转换后的图片,果然是png格式的。第二,转换后的图片大小是不同的,转成png格式后,文件居然大了差不多5倍,所以不是简单地改了一下文件的后缀名,而是真正意义上的图片格式的转换哦!看来PIL库确实是太强大了,前人栽树,我们乘凉,真爽!

结语

期待看到你的图片作品,都是为了更加精彩的画面呀!如果有任何问题,或者想要更多有趣的Python教程,都欢迎随时提问哦!加油!

以上就是利用Python实现批量转换图片格式的详细内容,更多关于Python批量转换图片格式的资料请关注脚本之家其它相关文章!

相关文章

  • 用python修改excel表某一列内容的操作方法

    用python修改excel表某一列内容的操作方法

    这篇文章主要介绍了用python修改excel表某一列内容的操作代码,在实现过程中用到openpyxl这个库,要生成随机数就要有random这个库,具体代码跟随小编一起看看吧
    2021-06-06
  • python 实现控制鼠标键盘

    python 实现控制鼠标键盘

    这篇文章主要介绍了python 控制鼠标键盘的示例,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • Python list列表删除元素的4种方法

    Python list列表删除元素的4种方法

    本文主要介绍了Python list列表删除元素的4种方法,主要包括del、pop、remove、clear,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • python pytesseract库的实例用法

    python pytesseract库的实例用法

    在本篇文章里小编给大家整理的是一篇关于python pytesseract库的实例用法,有需要的朋友们可以学习参考下。
    2021-07-07
  • Python中的pygal安装和绘制直方图代码分享

    Python中的pygal安装和绘制直方图代码分享

    这篇文章主要介绍了Python中的pygal安装和绘制直方图代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python 执行字符串表达式函数(eval exec execfile)

    Python 执行字符串表达式函数(eval exec execfile)

    今天在网上搜寻一些应用的例子时,发现有人用TK仅仅几行代码就写了个简易的计算器,惊为天人。回忆起刚学软件技术基础时编写简易计算器的艰辛,顿时泪流满面
    2014-08-08
  • 基于python编写监控系统各项资源的脚本

    基于python编写监控系统各项资源的脚本

    这篇文章主要为大家详细介绍了如何编写一个python脚本,实现监控网络的流量、CPU使用率、内存使用率和磁盘使用情况,感兴趣的小伙伴可以了解下
    2023-11-11
  • torch.utils.data.DataLoader与迭代器转换操作

    torch.utils.data.DataLoader与迭代器转换操作

    这篇文章主要介绍了torch.utils.data.DataLoader与迭代器转换操作,文章内容接受非常详细,对正在学习或工作的你有一定的帮助,需要的朋友可以参考一下
    2022-02-02
  • Python如何急速下载第三方库详解

    Python如何急速下载第三方库详解

    这篇文章主要给大家介绍了关于Python如何急速下载第三方库的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python sklearn转换器估计器和K-近邻算法

    Python sklearn转换器估计器和K-近邻算法

    这篇文章主要介绍了Python sklearn转换器估计器和K-近邻算法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论