Rumah > Artikel > pembangunan bahagian belakang > Apakah kaedah untuk menukar jpg ke png dengan cepat dan mengubah saiznya dalam Python?
Atur cara kecil yang sangat mudah yang boleh menukar terus semua .jpg dalam folder ini kepada format .png dan menyesuaikan saiznya.
Perlu memasang pustaka bantal:
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')
Perhatikan bahawa nama fail ini perlu disertakan dalam kurungan untuk mengubah saiz.
Kelemahan
Tidak boleh pergi ke latar belakang putih
# Tukar format imej python jpg ke png (pemprosesan kelompok, saiz tidak berubah)
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!")
Atas ialah kandungan terperinci Apakah kaedah untuk menukar jpg ke png dengan cepat dan mengubah saiznya dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!