Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Methode, um JPG schnell in PNG zu konvertieren und die Größe in Python zu ändern?

Was ist die Methode, um JPG schnell in PNG zu konvertieren und die Größe in Python zu ändern?

PHPz
PHPznach vorne
2023-05-27 13:30:371531Durchsuche

    Python JPG in PNG und Größe ändern

    Ein sehr einfaches kleines Programm, das alle Dateien in diesem Ordner direkt konvertieren kann jpg in das .png-Format umwandeln und die Größe anpassen.

    Abhängigkeit

    Die Kissenbibliothek muss installiert werden:

    pip install pillow

    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')

    Achten Sie auf den Namen Datei und passen Sie die Größe an. Erfordert Klammern.

    Nachteile

    • kann nicht auf weißem Hintergrund verwendet werden

    # 🎜🎜#Python-Batch-Konvertierung von JPG-Bildern in PNG-Bilder

    # Konvertieren Sie das Python-Bildformat JPG in PNG (Stapelverarbeitung, Größe bleibt unverändert)

    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!")

    Das obige ist der detaillierte Inhalt vonWas ist die Methode, um JPG schnell in PNG zu konvertieren und die Größe in Python zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen