python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python jpg快速转png并调整大小

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文