Python3图片webp、JPEG、png格式互换 2022-04-10 学习笔记,倒腾笔记,分享信息 暂无评论 97 次阅读 GIF制作遇到不支持webp格式图片,需要把比较多的webp图片转换jpeg格式,自己用python学着写了代码批量转换,日常难得遇到这样的情况,做个笔记。 ### 批量webp转jpg,反转只要修改相应代码。 ``` import os from pil import image # 图像预处理包括修改图像格式、编号 class proimage(): def __init__(self): # 指定文件夹路径 self.path = "/users/###/desktop/1" # 读取文件夹下图像 def read(self): filelist = os.listdir(self.path) return filelist def webp2jpg(self, filelist): # 查找图像方式不同,该函数只查找所有.webp格式的文件 for item in filelist: if item.endswith('.webp'): src = os.path.join(os.path.abspath(self.path), item) print("src=", src) im = image.open(src) im.load() save_name = src.replace('webp', 'jpg') im.save('{}'.format(save_name), 'jpeg') # 删除源图像 # os.remove(src) if __name__ == '__main__': newtype = proimage() filelist = newtype.read() newtype.webp2jpg(filelist) ``` ### 4通道png图片转jpg ``` import os from pil import image class proimage(): def __init__(self): self.path = "/users/###/desktop/1" def read(self): filelist = os.listdir(self.path) return filelist def png2jpg(self, filelist): for item in filelist: if item.endswith(".png"): src = os.path.join(os.path.abspath(self.path), item) im = image.open(src) im.load() # print("原图像通道数='{}'".format(len(im.split()))) r, g, b, a= im.split() im = image.merge("rgb", (r, g, b)) # print('现图像通道数=',len(im.split())) save_name = src.replace("png", "jpg") im.save('{}'.format(save_name), 'jpeg') os.remove(src) if __name__ == '__main__': newtype = proimage() filelist=newtype.read() newtype.png2jpg(filelist) ``` ### 批量图片重新编号命名 ``` import os from pil import image class proimage(): def __init__(self): # 指定文件夹路径 self.path = "/users/###/desktop/2" # 读取文件夹下图像 def read(self): filelist = os.listdir(self.path) return filelist def rename(self, filelist): i = 1 for item in filelist: # 查找指定格式图片,例子是查找jpeg格式图片,按需自己更改。 if item.endswith('.jpg') or item.endswith('.jpeg') or item.endswith('.jpg'): src = os.path.join(os.path.abspath(self.path), item) # 指定编号命名格式 dst = os.path.join(os.path.abspath(self.path), '0' + format(str(i) + '爱尔兰', '0>3s') + '.jpg') os.rename(src, dst) # print('converting %s to %s ...' % (src, dst)) i = i + 1 if __name__ == '__main__': newtype = proimage() filelist = newtype.read() newtype.rename(filelist) ``` 标签: webp, Python, 图片格式, jpeg, png 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭