Python如何将jpg图像修改大小并转换为png

 更新时间:2023年09月11日 15:21:54   作者:回炉重造P  
这篇文章主要介绍了Python如何将jpg图像修改大小并转换为png问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python将jpg图像修改大小并转换为png

简单利用pillow库实现的大小与格式转换的脚本。

实现

import os
import PIL.Image as Image
def changeJpgToPng(w, h, path):
    # 修改图像大小
    image = Image.open(path)
    image = image.resize((w, h), Image.ANTIALIAS)
    # 将jpg转换为png
    png_name = str(path)[0:-len('.jpg')] + '_min.png'
    image.save(png_name)
    print(png_name)
    # 去白底
    image = image.convert('RGBA')
    img_w, img_h = image.size
    color_white = (255, 255, 255, 255)
    for j in range(img_h):
        for i in range(img_w):
            pos = (i, j)
            color_now = image.getpixel(pos)
            if color_now == color_white:
                # 透明度置为0
                color_now = color_now[:-1] + (0,)
                image.putpixel(pos, color_now)
    image.save(png_name)
if __name__ == '__main__':
    t_w = 300
    t_h = 150
    dic = os.listdir('image')
    for d in dic:
        if d.count('.jpg') > 0:
            changeJpgToPng(t_w, t_h, 'image/' + d)

参考实现了去白底的功能,简单循环对比。

结构

Python批量实现jpg图片修改大小并转换为png(图像通道:RGB,适配KITTI数据集)

# python:批量实现jpg图片修改大小并转换为png
# author:zhou jinxing
import os
import PIL.Image as Image
def changeJpgToPng(w, h,srcPath,dstPath):
    # 修改图像大小
    image = Image.open(srcPath)
    image = image.resize((w, h), Image.ANTIALIAS)
    # 将jpg转换为png
    png_name = str(dstPath)[0:-len('.jpg')] + '.png'
    image.save(png_name)
    print(png_name)
    # 去白底
    #image = image.convert('RGBA')
    image = image.convert('RGB')
    img_w, img_h = image.size
    #color_white = (255, 255, 255, 255)
    color_white = (255, 255, 255)
    for j in range(img_h):
        for i in range(img_w):
            pos = (i, j)
            color_now = image.getpixel(pos)
            if color_now == color_white:
                # 透明度置为0
                color_now = color_now[:-1] + (0,)
                image.putpixel(pos, color_now)
    image.save(png_name)
if __name__ == '__main__':
    t_w = 1242
    t_h = 375
    #srcPath = '/workspace/tlt-experiments/data_fire/image_2_jpg/'
    #dstPath = '/workspace/tlt-experiments/data_fire/image_2_png/'
    srcPath = '/workspace/tlt-experiments/data_fire/012/training/image_2/'
    dstPath = '/workspace/tlt-experiments/data_fire/012/training/image_2_png/'    
#    filename_list = os.listdir('/workspace/tlt-experiments/data_fire/image_2_jpg')
#    for d in dic:
#        if d.count('.jpg') > 0:
#            changeJpgToPng(t_w, t_h, 'image/' + d)
    print("开始转换...")
    filename_list = os.listdir('/workspace/tlt-experiments/data_fire/012/training/image_2')
    for d in filename_list:
        if d.count('.png') > 0:
            changeJpgToPng(t_w, t_h,srcPath + d,dstPath + d)
        pass
    print("完成了...")

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python如何拆分含有多种分隔符的字符串

    Python如何拆分含有多种分隔符的字符串

    这篇文章主要介绍了Python如何拆分含有多种分隔符的字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python实现石头剪刀布小游戏

    python实现石头剪刀布小游戏

    这篇文章主要为大家详细介绍了python实现石头剪刀布小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python def函数的定义、使用及参数传递实现代码

    Python def函数的定义、使用及参数传递实现代码

    Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,在Python中使用def用来定义函数,这里简单分享下, 方便学习python的朋友
    2014-08-08
  • Python绘制的二项分布概率图示例

    Python绘制的二项分布概率图示例

    这篇文章主要介绍了Python绘制的二项分布概率图,涉及Python基于numpy、math的数值运算及matplotlib图形绘制相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • python3.5使用tkinter制作记事本

    python3.5使用tkinter制作记事本

    TkInter是标准的Python GUI库。的Python与Tkinter的结合提供了一个快速和容易的方法来创建GUI应用程序。 Tkinter的提供了一个强大的面向对象的接口Tk的GUI工具包.
    2016-06-06
  • python+pytest自动化测试函数测试类测试方法的封装

    python+pytest自动化测试函数测试类测试方法的封装

    这篇文章主要介绍了python+pytest自动化测试函数测试类测试方法的封装,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • numpy和pandas中数组的合并、拉直和重塑实例

    numpy和pandas中数组的合并、拉直和重塑实例

    今天小编就为大家分享一篇numpy和pandas中数组的合并、拉直和重塑实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python-jenkins 获取job构建信息方式

    Python-jenkins 获取job构建信息方式

    这篇文章主要介绍了Python-jenkins 获取job构建信息方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python Flask实现快速构建Web应用的方法详解

    Python Flask实现快速构建Web应用的方法详解

    Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架,本文将和大家一起详细探讨一下Python Flask Web服务,需要的小伙伴可以学习一下
    2023-06-06
  • 详解Python中数据的多种存储形式

    详解Python中数据的多种存储形式

    这篇文章主要介绍了Python中数据的多种存储形式,主要有JSON 文件存储、CSV 文件存储、关系型数据库存储及非关系型数据库存储,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论