Python jpg快速转png并调整大小方式
作者:咲奈
这篇文章主要介绍了Python实现jpg快速转png并调整大小方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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!")
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。