在使用Pillow中的Image.save()方法酸舍,使用默認(rèn)參數(shù)保存jpg圖片的過(guò)程中發(fā)現(xiàn)圖片被壓縮的很嚴(yán)重瓣戚,導(dǎo)致原來(lái)很大的大小變成幾十K沛慢。這是因?yàn)樵诒4鏋閖pg的過(guò)程中肾砂,內(nèi)部使用壓縮算法對(duì)圖片進(jìn)行的壓縮處理远剩。
但是有些時(shí)候往往需要圖片的大小不能變化太大或不能太小劝篷。所以在使用此方式時(shí)可以加入?yún)?shù):
imObj.save(img_name, quality=95)
quality參數(shù): 保存圖像的質(zhì)量,值的范圍從1(最差)到95(最佳)民宿。 默認(rèn)值為75娇妓,使用中應(yīng)盡量避免高于95的值; 100會(huì)禁用部分JPEG壓縮算法,并導(dǎo)致大文件圖像質(zhì)量幾乎沒(méi)有任何增益活鹰。
使用此參數(shù)后哈恰,圖片大小會(huì)增加。如果圖片的大小還不能滿足你的需求志群,是否還有其他方式去增加圖片大小呢着绷?
通過(guò)查閱資料并嘗試,發(fā)現(xiàn)save方法還有一個(gè)可以配合quality使用的參數(shù)锌云,能夠大大增加圖片大熊健:
imObj.save(new_name, quality=95, subsampling=0)
subsampling參數(shù):子采樣,通過(guò)實(shí)現(xiàn)色度信息的分辨率低于亮度信息來(lái)對(duì)圖像進(jìn)行編碼的實(shí)踐桑涎。 (參考:https://en.wikipedia.org/wiki/Chroma_subsampling)
可能的子采樣值是0,1和2彬向,對(duì)應(yīng)于4:4:4,4:2:2和4:1:1(或4:2:0?)攻冷。
經(jīng)過(guò)實(shí)踐將值設(shè)為0便可以滿足圖片大小增大的需求娃胆。
注意: 以上方法的參數(shù)只針對(duì)于保存為JPG/JPEG格式的圖片的情況。