Home > Backend Development > Python Tutorial > What is the method to quickly convert jpg to png and resize it in Python?

What is the method to quickly convert jpg to png and resize it in Python?

PHPz
Release: 2023-05-27 13:30:37
forward
1562 people have browsed it

    Python jpg to png and resize

    A very simple small program that can directly convert all .jpg in this folder to .png format. and customize the size.

    Dependencies

    Need to install pillow library:

    pip install pillow
    Copy after login

    Code

    # -*- 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')
    Copy after login

    Pay attention to the file name, and the size needs to be bracketed.

    Disadvantages

    • Cannot go to white background

    Python batch converts jpg images to png images

    # Convert python image format jpg to png (batch processing, unchanged size)

    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!")
    Copy after login

    The above is the detailed content of What is the method to quickly convert jpg to png and resize it in Python?. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template