python将PNG格式的图片转化成为jpg
- """
- 先来说一下jpg图片和png图片的区别
- jpg格式:是有损图片压缩类型,可用最少的磁盘空间得到较好的图像质量
- png格式:不是压缩性,能保存透明等图
-
- """
- from PIL import Image
- import cv2 as cv
- import os
-
- def PNG_JPG(PngPath):
- img = cv.imread(PngPath, 0)
- w, h = img.shape[::-1]
- infile = PngPath
- outfile = os.path.splitext(infile)[0] + ".jpg"
- img = Image.open(infile)
- img = img.resize((int(w / 2), int(h / 2)), Image.ANTIALIAS)
- try:
- if len(img.split()) == 4:
- # prevent IOError: cannot write mode RGBA as BMP
- r, g, b, a = img.split()
- img = Image.merge("RGB", (r, g, b))
- img.convert('RGB').save(outfile, quality=70)
- os.remove(PngPath)
- else:
- img.convert('RGB').save(outfile, quality=70)
- os.remove(PngPath)
- return outfile
- except Exception as e:
- print("PNG转换JPG 错误", e)
-
-
- if __name__ == '__main__':
- PNG_JPG(r"C:\Users\lenovo\Desktop\newI\s.png")
-