首頁 > 後端開發 > Python教學 > Python jpg快速轉png並調整大小的方法是什麼

Python jpg快速轉png並調整大小的方法是什麼

PHPz
發布: 2023-05-27 13:30:37
轉載
1560 人瀏覽過

    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 jpg快速轉png並調整大小的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板