栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

对照片质量进行压缩

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

对照片质量进行压缩

对照片质量进行压缩

其实无论是jpg还是png都是已经压缩编码化的格式罢了,原图片的大小要远远大于压缩编码后的格式
1,像素:图片放大到一定程度之后的一个个的小方块
2,RGB:每一个像素(小方块)都是由RGB所构成
3,颜色深度:8bit的颜色深度表示可以表示的颜色范围在[0-255]之间也就是2^8
4,图片的宽高:表示在水平方向(宽)和竖直方向(高)上有多少个像素点(小方块)
5,图片大小=图片的像素点个数×颜色通道×每个颜色通道的颜色深度 单位为bit

143.91KB=232×211×3×8(bit),当然1bit/8=1B,1B/1024=1KB

6,对于png图片含有RGB和alpha分量,其中alpha表示透明度
7,除了RGB以外还有BGR
8,其中的BGR表示蓝色blue、绿色green、红色red这些是单独的颜色分量

1,对jpg照片进行有损压缩
import cv2
img = cv2.imread("E:Python-workspaceOpenCV/yy.jpg",1)#1表示彩色图片,0表示灰度图片
cv2.imwrite('E:Python-workspaceOpenCV/y0.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,0])#这里的取值范围为0-100,其中0表示压缩的越厉害,体积越小当然会有损照片
cv2.imwrite('E:Python-workspaceOpenCV/y50.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
cv2.imwrite('E:Python-workspaceOpenCV/y100.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,100])
效果如下:

运行前:

运行后:


2,对png照片进行等比压缩
import cv2
img = cv2.imread("E:Python-workspaceOpenCV/yy.png",1)#1表示彩色图片,0表示灰度图片
cv2.imwrite('E:Python-workspaceOpenCV/y0.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])#这里的取值范围为0-9,其中0表示压缩比最低,图片效果较好
cv2.imwrite('E:Python-workspaceOpenCV/y5.png',img,[cv2.IMWRITE_PNG_COMPRESSION,50])
cv2.imwrite('E:Python-workspaceOpenCV/y9.png',img,[cv2.IMWRITE_PNG_COMPRESSION,100])
效果如下:

运行前:

运行后:


总结:
jpgpng
0-100有损压缩0-9等比压缩
有损无损
无透明度属性有透明度属性
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号