python实现批量图片格式转换

Python脚本—批量图片格式转换 使用Python的`os、sys、PIL`库完成批量图片格式转换 阅读详情


前言

本文重点介绍普通图片格式怎么相互转换,如jpg格式图片怎么批量转化为png格式。在深度学习项目中,有时我们收集到的数据集图片格式不统一,有的代码支持多种格式图片输入,有的则只支持个别格式,所以这时,我们需要通过脚本来转换图片格式。不说废话,直接上代码。


提示:以下是本篇文章正文内容,下面案例可供参考

一、转换思路

使用PIL中的Image模块,对图像进行读取打开,然后输出设定为自己想要的格式即可,重点是要突出文件夹中多张图片也可以批量装换。

二、python脚本分步代码

1.引入库

代码如下(示例):

# 将jpg格式转位png
import os
from PIL import Image
import shutil
import sys

2.定义输入图片路径和输出图片路径

代码如下(示例):

output_dirHR = './pa_car_img/'
output_dirLR = './pa_car_i/'
if not os.path.exists(output_dirHR):
    os.mkdir(output_dirHR)
if not os.path.exists(output_dirLR):
    os.mkdir(output_dirLR)

3.实现格式转换函数

def image2png(dataset_dir,type):
    files = []
    image_list = os.listdir(dataset_dir)
    files = [os.path.join(dataset_dir, _) for _ in image_list]
    for index,jpg in enumerate(files):
        if index > 100000:
            break
        try:
            sys.stdout.write('\r>>Converting image %d/100000 ' % (index))
            sys.stdout.flush()
            im = Image.open(jpg)
            png = os.path.splitext(jpg)[0] + "." + type
            im.save(png)
            # 将已经转换的图片移动到指定位置
            '''
            if jpg.split('.')[-1] == 'jpg':
                shutil.move(png,output_dirLR)
            else:
                shutil.move(png,output_dirHR)
            '''
            shutil.move(png, output_dirHR)
        except IOError as e:
            print('could not read:',jpg)
            print('error:',e)
            print('skip it\n')
 
    sys.stdout.write('Convert Over!\n')
    sys.stdout.flush()

三、python脚本完整程序

# 将jpg格式转位png
import os
from PIL import Image
import shutil
import sys
 
# Define the input and output image
output_dirHR = './pa_car_img/'
output_dirLR = './pa_car_i/'
if not os.path.exists(output_dirHR):
    os.mkdir(output_dirHR)
if not os.path.exists(output_dirLR):
    os.mkdir(output_dirLR)
 
 
 
def image2png(dataset_dir,type):
    files = []
    image_list = os.listdir(dataset_dir)
    files = [os.path.join(dataset_dir, _) for _ in image_list]
    for index,jpg in enumerate(files):
        if index > 100000:
            break
        try:
            sys.stdout.write('\r>>Converting image %d/100000 ' % (index))
            sys.stdout.flush()
            im = Image.open(jpg)
            png = os.path.splitext(jpg)[0] + "." + type
            im.save(png)
            # 将已经转换的图片移动到指定位置
            '''
            if jpg.split('.')[-1] == 'jpg':
                shutil.move(png,output_dirLR)
            else:
                shutil.move(png,output_dirHR)
            '''
            shutil.move(png, output_dirHR)
        except IOError as e:
            print('could not read:',jpg)
            print('error:',e)
            print('skip it\n')
 
    sys.stdout.write('Convert Over!\n')
    sys.stdout.flush()
 
 
 
if __name__ == "__main__":
    current_dir = os.getcwd()
    print(current_dir)  # /Users/gavin/PycharmProjects/pygame
    data_dir = 'F:/feiyi_car_data/pa_car_img/'
 
    image2png(data_dir,'png')
 

总结

以上就是今天要讲的内容,脚本超级好用,学好python,大大提高工作效率!觉得还不错的,感谢关注收藏,后续还会继续分享好用的数据处理脚本。

Python套壳ImageMagick实现图片格式批量转换 图片批量转换为jpg格式 阅读详情

相关推荐

使用Python和PIL库将JPEG图片转换为PNG图片

Python提供了许多强大的图像处理库,其中之一是PIL(Python Imaging Library)。PIL库提供了各种图像操作和处理功能,包括图像格式的转换。在本文中,我们将介绍如何使用PIL库将JPEG(.jpg)图片转换为PNG(.png)格式。这是使用PIL库将JPEG图片转换为PNG图片的基本示例。运行代码后,如果一切顺利,你将在指定的输出路径下找到转换后的PNG图片。函数将图像保存为PNG格式,并将输出路径作为第二个参数传递给它。使用Python和PIL库将JPEG图片转换为PNG图片。

James_CODER的博客 428

python实现图片的jpg转换png格式

在上述代码中,我们首先设置了输入文件夹路径和目标格式。然后使用 os.listdir() 函数循环遍历输入文件夹中的所有文件。对于每一个以 .jpg 结尾的文件,我们通过组合文件名和路径来生成 PNG 图片的保存路径,然后使用 PIL.Image.open() 函数读取 JPG 格式图片,并使用 PIL.Image.save() 函数将其保存为 PNG 格式。最后,使用 os.remove() 函数删除原始 JPG 格式的图片。注意,删除文件是一个危险的操作,请确保你已经备份好原始图片,以防万一。

weixin_44883789的博客 2977

可直接运行 利用Python实现图片格式转换 jpg转png可单张和多张转换 可批量转换 含源代码和测试图片 直接出效果.rar

可直接运行 利用Python实现图片格式转换 jpg转png可单张和多张转换 可批量转换 含源代码和测试图片 直接出效果 文件夹中已经放了测试图片,打卡run文件后,直接运行即可出效果

python:jpg图片格式转换成png格式

python:jpg图片格式转换成png格式

ye1256的博客 1586

【ArcGIS Add-in编程】如何创建ArcMap的下拉菜单插件

step1. VS2010中创建一个空的解决方案step2.创建一个项目 直接点击finish。step3 为该项目创建项目,选择Menu,作为根菜单,而后修改xml中的items项,添加需要放在下拉菜单中的项目,例如一个按钮; step4 现在可以创建项目,作为菜单中的项目。为该项目添加新的项目,选择button 此时 xml文件中,多了该button的项目,将该项目添加到items

吃货小跟班的博客 4430

CUDA系列-Stream-1

This section describes static aspects of the CUSW_UNIT_STREAM unit’s architecture.和stream相关的其它Unit主要有Channel,Sync,Memmgr A CUDA stream is a software FIFO queue that allows commands like kernel launch and memcpy to be enqueued in it. The enqueued commands

weixin_43360707的博客 734

Python实现批量转换图片格式:告别单调乏味的图片圈套!

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

weixin_42397851的博客 714

立创开源:基于AD831/ADF4351的250-500MHz宽频调幅信号处理实验电路设计与实现

本文详细解析了基于AD831混频器和ADF4351本振源的250-500MHz宽频调幅信号处理实验电路的设计与实现。文章从项目需求出发,系统讲解了超外差接收架构、核心模块(包括射频前端、混频器、本振源、AGC环路及解调电路)的选型与原理,并提供了实战调试波形与性能验证,为射频电路学习者提供了从理论到实践的完整指南。

weixin_35706255的博客 226

Python实现图片格式批量转换(支持HEIC)

图像批量转换工具摘要 本文介绍了两种基于Python的批量图像格式转换方案:1)常规图像格式转换,使用Pillow库支持JPG/PNG/BMP等常见格式互转;2)HEIC特殊格式转换,需配合pillow_heif插件处理。两种方案均支持:批量处理文件夹(保留子目录结构)、异常文件自动跳过、输出质量优化。对于HEIC格式的EXIF数据过长问题,提供了清除元数据的解决方案。文章还给出了多线程加速版本,并详细说明使用方法(需安装Pillow和pillow_heif依赖),适用于婚礼照片等大批量图像格式转换场景。

保持分享欲 994

uniapp微信小程序开发:解决Video播放m3u8视频流非卡顿问题,使用video视频标签播放M3U8视频流或直播流总是加载一卡一卡的体验非常差的情况【多种优化方案提升流畅度和缓冲方案示例源码】

uniapp微信小程序video播放m3u8视频流卡,uniapp video在微信小程序播放m3u8格式视频总是加载频繁卡顿,Uniapp微信小程序苹果ios真机播放m3u8很卡加载不流畅怎么办,uni-App如何解决小程序端video播放视频流M3U8格式出现卡顿情况,uniapp播放m3u8直播流卡顿如何优化?uniapp m3u8格式视频加载,.m3u8监控视频,uniapp微信小程序使用video组件播放M3U8视频卡顿,uniapp微信小程序视频播放卡顿如何解决,uniapp 打包微信小程序播放

✅ 精选推荐文章 2987

STM32实现简单的智能电子相框

具体的代码案例和详细的代码实现超过5000字,无法在此篇文章中提供。但是,你可以参考STM32的官方文档和相应的图形库和多媒体库的文档,以获得更详细的实现细节和代码示例。对于硬件,我们可以选择使用STM32开发板,如STM32F4 Discovery。对于软件开发环境,我们将使用Keil MDK-ARM作为开发工具,并使用STM32CubeMX进行代码配置。在本文中,我们将使用STM32单片机实现一个简单的智能电子相框,包括显示照片、播放视频和音乐功能。接下来,我们将详细描述实现智能电子相框的步骤。

2401_85625565的博客 1005

python实现图片格式批量转换

python实现图片格式批量转换 一个简单的代码实现png转jpg,或者jpg转png 首先安装需要的环境:python 3.6 piilow tqdm 将代码复制,保存在txt文件,然后终端该txt文件运行即可: # -*- coding: utf-8 import os import os.path from PIL import Image from tqdm import tqdm import time from datetime import datetime class Pathroot()

wh1213148的博客 828

STM32入门教程:自动门控制

通过这个简单的示例,我们展示了如何使用STM32微控制器来实现一个简单的自动门控制系统。如果有物体靠近门口,我们会改变doorState的值,并使用controlServoMotor函数来控制舵机电机的转动。具体的引脚连接可以根据您的具体硬件来定,例如将红外传感器的输出引脚连接到GPIOA_PIN0引脚。同样,具体的引脚连接可以根据您的具体硬件来定,例如将舵机的控制引脚连接到GPIOA_PIN1引脚。首先,我们需要包含必要的库文件和引用。然后,我们需要定义一些函数来处理红外传感器的输入和舵机电机的输出。

m0_75244442的博客 577

python批量转换图片格式_python实现批量图片格式转换

本文实例为大家分享了python实现批量格式转换的具体代码,供大家参考,具体内容如下深度学习过程中总是绕不开数据集的制作,有时候实际图片格式或大小可能与需要关心的图片信息不一致,那么我们只能手动做好数据预处理,再进行training dataset.现在将介绍最简单的格式转换问题。可以支持批量图片任意格式转换。直接上代码:# 将jpg格式转位pngimport osfrom PIL import ...

weixin_39767386的博客 440

摆脱英文束缚!群晖Transmission4.0.4全新中文界面攻略

在群晖安装完官方Transmission4.0.4套件后,界面是英文状态的,不太好用。但是按照网上分享的原来4.0以前版本的方法更新UI又失败,所以自己搞了下成功了,分享给需要的朋友。

XiaoqiangClub的博客 5211

USB 基础学习:USB 电气信号介绍

USB电气信号技术解析 USB通信的核心是差分信号传输技术,通过D+和D-两根线传输相位相反的电压信号实现数据通信。USB信号系统包含三类关键信号:差分数据信号(抗干扰性强)、单端状态信号(用于设备识别)和电源信号(提供5V供电)。USB2.0采用400mV电压摆幅和NRZI编码,支持低速(1.5Mbps)至高速(480Mbps)传输;USB3.0则新增专用差分对,数据速率可达20Gbps。物理层通过上拉/下拉电阻检测设备连接,高速模式需特殊握手协议。抗干扰设计的关键在于保持差分线等长、阻抗匹配和使用共模扼

浩瀚之水的专栏 1782

用小于99行的python代码实现批量图片格式转换(带GUI)

最近需要用到批量图片转webp的功能,忍不住手痒,撸了会儿代码。主要实现以下功能: 1.批量图片的格式转换: 几种常见图片格式相互转换:webp,jpg,png,bmp 2.最好有GUI,方便交互。 3.顺手打包成了exe以后可以直接双击使用。 用了pillow和easygui做了简单的实现: 部分功能实现: 1.遍历文件夹,返回所有符合的图片路径到列表内 # 遍历文件夹,返回所有符合的图片路径到列表内 def getImages(filePath=os.getcw...

pirate7777777的专栏 555

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python实现图片格式转换_python实现批量图片格式转换

本文实例为大家分享了python实现批量格式转换的具体代码,供大家参考,具体内容如下深度学习过程中总是绕不开数据集的制作,有时候实际图片格式或大小可能与需要关心的图片信息不一致,那么我们只能手动做好数据预处理,再进行training dataset.现在将介绍最简单的格式转换问题。可以支持批量图片任意格式转换。直接上代码:# 将jpg格式转位pngimport osfrom pil import ...

weixin_35094917的博客 931

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python实现批量图片格式转换

    深度学习过程中总是绕不开数据集的制作,有时候实际图片格式或大小可能与需要关心的图片信息不一致,那么我们只能手动做好数据预处理,再进行training dataset.现在将介绍最简单的格式转换问题。可以支持批量图片任意格式转换。   直接上代码:# 将jpg格式转位png import os from PIL import Image import shutil import sys #...

Gavinmiaoc的博客 9027

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

文章目录利用Python实现自动批量图片格式转换0.背景1.简单思路2.进一步改进3.最终版本4.总结 利用Python实现自动批量图片格式转换 0.背景 在一个漫画网站下载了一些图片,但下载下来之后发现是webp格式,不能直接查看,于是决定将这些图片全部转为JPG等便于查看的格式,但是无论是网上的一些在线转换网站还是一些软件,要么不好使,要么要钱。于是决定利用Python写一个脚本,来实现这一功能。 1.简单思路 经过查询资料,我们得知主要需要用PIL这个对图片进行操作,即打开并识别webp格式的图片,并

Olaffff的博客 7533

【图片格式转换】python实现批量图片格式转换:emf、jpeg等转为png

【图片格式转换】python实现批量图片格式转换:emf、jpeg等转为png

Danger的博客 2631

python tkinter 实现图片格式批量转换小工具

上次写的这个用小于99行的python代码实现批量图片格式转换(带GUI) 这个功能是实现了,不过界面太难看,花了点时间改了下界面,用的tkinter 实现了几种常见图片格式相互转换并输出:webp,jpg,png,bmp 贴几张运行效果好了: 需要安装pillow,其他的坑可以看看之前的文章,这里就不赘述了。 pip install pillow 这里直接贴代码了,一共也就不到200行,功能比较简单。该有的注释也有 #!/usr/bin/env python3 # -..

pirate7777777的专栏 1855

python实现图片格式转换_Python实现批量图片格式转换

# 将jpg格式转位png import os from PIL import Image import shutil import sys # Define the input and output image output_dirHR = '../data/Mosaic_HR/' output_dirLR = '../data/Mosaic_LR/' if not os.path.exist...

weixin_39595487的博客 316

2025/3/16:python脚本实现批量文件:数字排序命名、jpg图片格式转换png

涉及软件工具:, 指定目录运行: 当前目录运行: 2、 jpg图片格式转换png 涉及软件工具:, 指定目录运行: 当前目录运行:

qq_44842374的博客 356
上一篇: PyTorch 1.13 正式发布CUDA 升级、集成多个库、M1 芯片支持
下一篇: python批量拼接两个xml文件中的目标内容
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值