开发者

Python jpg快速转png并调整大小方式

开发者 https://www.devze.com 2023-03-25 09:37 出处:网络 作者: 咲奈
目录python jpg转png并调整大小依赖代码python把jpg图片批量转化为png图片总结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_njavascriptame = str(dstPath)[0:-len('.jpg')] + '.png'
          # image.save(png_name)
          # print(png_name)
      
          # image = image.convert('RG开发者_C入门BA')
          image = image.convert('RGB')
          image.save(png_name)
          prjQKAyKvass
       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.sorrjQKAyKvt(key=lambda x: int(x.split(".")[0]))
          # 获取图像宽高
          h, w, _ = cv2.imread("images/" + files[0]).shape
          # 设置帧数
          fps = 30
      
          vid = []
          '''
          设置要保存的格式
          mp4:
              mp4v 
          avi:
             js xvid
              i420
          '''
      
          # 保存视频路径和名称
          # save_path = "video/video.mp4"		# 保存视频路径和名称 MP4格式
          save_path = "video/video.avi"  # 保存视频路径和名称 av格式
      
          # 准备写入视频
          vid = cv2.VideoWriter(save_path, cv2.Videhttp://www.devze.comoWriter_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!")
      
      

      总结

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

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号