对照片质量进行压缩
對照片質(zhì)量進(jìn)行壓縮
其實(shí)無論是jpg還是png都是已經(jīng)壓縮編碼化的格式罷了,原圖片的大小要遠(yuǎn)遠(yuǎn)大于壓縮編碼后的格式
1,像素:圖片放大到一定程度之后的一個(gè)個(gè)的小方塊
2,RGB:每一個(gè)像素(小方塊)都是由RGB所構(gòu)成
3,顏色深度:8bit的顏色深度表示可以表示的顏色范圍在[0-255]之間也就是2^8
4,圖片的寬高:表示在水平方向(寬)和豎直方向(高)上有多少個(gè)像素點(diǎn)(小方塊)
5,圖片大小=圖片的像素點(diǎn)個(gè)數(shù)×顏色通道×每個(gè)顏色通道的顏色深度 單位為bit
143.91KB=232×211×3×8(bit),當(dāng)然1bit/8=1B,1B/1024=1KB
6,對于png圖片含有RGB和alpha分量,其中alpha表示透明度
7,除了RGB以外還有BGR
8,其中的BGR表示藍(lán)色blue、綠色green、紅色red這些是單獨(dú)的顏色分量
1,對jpg照片進(jìn)行有損壓縮
import cv2 img = cv2.imread("E:\Python-workspace\OpenCV/yy.jpg",1)#1表示彩色圖片,0表示灰度圖片 cv2.imwrite('E:\Python-workspace\OpenCV/y0.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,0])#這里的取值范圍為0-100,其中0表示壓縮的越厲害,體積越小當(dāng)然會(huì)有損照片 cv2.imwrite('E:\Python-workspace\OpenCV/y50.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50]) cv2.imwrite('E:\Python-workspace\OpenCV/y100.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,100])效果如下:
運(yùn)行前:
運(yùn)行后:
2,對png照片進(jìn)行等比壓縮
import cv2 img = cv2.imread("E:\Python-workspace\OpenCV/yy.png",1)#1表示彩色圖片,0表示灰度圖片 cv2.imwrite('E:\Python-workspace\OpenCV/y0.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])#這里的取值范圍為0-9,其中0表示壓縮比最低,圖片效果較好 cv2.imwrite('E:\Python-workspace\OpenCV/y5.png',img,[cv2.IMWRITE_PNG_COMPRESSION,50]) cv2.imwrite('E:\Python-workspace\OpenCV/y9.png',img,[cv2.IMWRITE_PNG_COMPRESSION,100])效果如下:
運(yùn)行前:
運(yùn)行后:
總結(jié):
| 0-100有損壓縮 | 0-9等比壓縮 |
| 有損 | 無損 |
| 無透明度屬性 | 有透明度屬性 |
總結(jié)
- 上一篇: 调用本地电脑摄像头并进行按P进行捕获照片
- 下一篇: 查看照片的指定位置的像素点值,并在照片中