当前位置 : 主页 > 编程语言 > python >

Python jpg快速转png并调整大小的方法是什么

来源:互联网 收集:自由互联 发布时间:2023-07-30
Python jpg转png并调整大小 很简单的小程序,可以直接将本文件夹下所有 .jpg 转为 .png 格式,并自定义大小。 依赖 需要安装 pillow 库: pip install pillow 代码 # -*- coding:utf-8 -*-# file name: jpg2
    Python jpg转png并调整大小

    很简单的小程序,可以直接将本文件夹下所有 .jpg 转为 .png 格式,并自定义大小。

    依赖

    需要安装 pillow 库:

    pip install pillow
    代码
    # -*- coding:utf-8 -*-
    
    # file name: jpg2png.py
    
    import os
    from PIL import Image
    
    list = os.listdir()
    
    for i in list:
        if i != 'jpg2png.py':
            print(i)
            Image.open(i).convert('RGBA').resize((512, 512)).save(i[:i.find('.')] + '.png')

    注意本文件名,还有调整大小需要括号起来。

    缺点

    • 不能去白底

    python把jpg图片批量转化为png图片

    # python图片格式jpg转换为png(批量处理,尺寸不变)

    import os
    import PIL.Image as Image
    def changeJpgToPng(srcPath, dstPath):
        # 修改图像大小
        image = Image.open(srcPath)
    
        # 将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')
        image.save(png_name)
        pass
     if __name__ == '__main__':
        listPath = 'D:/BYLW666/deeplabv3-plus-pytorch-main/VOCdevkit/VOC2007/jpg/'#jpg图片
        srcPath = 'D:/BYLW666/deeplabv3-plus-pytorch-main/VOCdevkit/VOC2007/src/'#jpg图片
        dstPath = 'D:/BYLW666/deeplabv3-plus-pytorch-main/VOCdevkit/VOC2007/png/'#png图片
        print("开始转换...")
        filename_list = os.listdir(listPath)
        for d in filename_list:
            if d.count('.jpg') > 0:
                changeJpgToPng(srcPath + d, dstPath + d)
            pass
        print("完成了...")
    
    二、视频转图像或图像转视频
    import cv2
    import os
    
    
    def video2image():
        cap = cv2.VideoCapture("video/01.mp4")
        count = 1
        while True:
            success, frame = cap.read()
            if success == False:
                break
            cv2.imwrite("images/%d.jpg" % count, frame)
            count += 1
    
    
    def image2video():
        # 得到图像路径
        files = os.listdir("images/")
        # 对图像排序
        files.sort(key=lambda x: int(x.split(".")[0]))
        # 获取图像宽高
        h, w, _ = cv2.imread("images/" + files[0]).shape
        # 设置帧数
        fps = 30
    
        vid = []
        '''
        设置要保存的格式
        mp4:
            mp4v 
        avi:
            xvid
            i420
        '''
    
        # 保存视频路径和名称
        # save_path = "video/video.mp4"		# 保存视频路径和名称 MP4格式
        save_path = "video/video.avi"  # 保存视频路径和名称 av格式
    
        # 准备写入视频
        vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
        # vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'xvid'), fps, (w, h))
        # vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'i420'), fps, (w, h))
    
        # 写入
        for file in files:
            img = cv2.imread("images/" + file)
            vid.write(img)
    
    
    if __name__ == '__main__':
        print("start...")
        video2image()
        #image2video()
        print("OK!")

    上一篇:Python如何获取当前时间日期
    下一篇:没有了
    网友评论