2021-02-24 Python等比例压缩与质量处理图片

Python等比例压缩与质量处理图片

一.Python PIL

 

1、在使用PIL image处理图像要获取高质量的关键地方是下面两点:

 
  1. 1、处理时要用 ANTIALIAS;2、保存时是要设置 quality;

2、核心代码:

  1. im.resize(box, Image.ANTIALIAS)im.save(path, 'JPEG', quality = 95)​​​​​​​

3、示例:

 
  1. from PIL import Imagefile = '1.jpg'img = Image.open(file)w,h = img.sizew,h = round(w * 0.2),round(h * 0.2)    // 去掉浮点,防报错
    img = img.resize((w,h), Image.ANTIALIAS)img.save('1.jpg', optimize=True, quality=85)  // 质量为85效果最好

 

二.Python OpenCV

 

1、使用opencv保存图像

cv2.imwrite(存储路径,图像变量, [存盘标识])

2、存盘标识说明:

 1、cv2.CV_IMWRITE_JPEG_QUALITY  设置图片格式为.jpeg或者.jpg的图片质量,其值为0---100(数值越大质量越高),默认95   2、cv2.CV_IMWRITE_WEBP_QUALITY  设置图片的格式为.webp格式的图片质量,值为0--100   3、cv2.CV_IMWRITE_PNG_COMPRESSION  设置.png格式的压缩比,其值为0--9(数值越大,压缩比越大),默认为3

 

3、存盘标识示例:

 

 

cv2.imwrite('img.jpg',img,[int(cv2.IMWRITE_JPEG_QUALTY),70])  把img变量保存到img.png,图片品质为70

4、不同类型图片说明:

 

保存png图像,图像后缀必须为.png,图像质量0-9,默认为3,0质量最好,9最差。

  •  
cv2.imwrite("123.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])

保存jpg图像,图像后缀必须为.jpg,图像质量0-100,默认为95,100最好,0最差。

  •  
cv2.imwrite("123.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])

5、示例:

  1. import cv2cv2.namedWindow("Image") #创建窗口img = cv2.imread('ver.jpg')cv2.imshow("Image",img)cv2.imwrite('test.jpg',img,[int(cv2.IMWRITE_JPEG_QUALITY),70])cv2.waitKey(0)cv2.destroyWindow("Image")

 

  1.  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值