国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python Pillow Image.save 保存為jpg圖片壓縮問(wèn)題

Python Pillow Image.save 保存為jpg圖片壓縮問(wèn)題

2022-03-06 13:07翱翔的賴克 Python

Pillow 庫(kù)支持多種圖片格式,Pillow 能夠很輕松地實(shí)現(xiàn)圖片格式之間的轉(zhuǎn)換。本文就來(lái)詳細(xì)的介紹一下Image.save的具體使用,感興趣的可以了解一下

Pillow圖片格式轉(zhuǎn)換

Pillow 庫(kù)支持多種圖片格式,您可以直接使用 open() 方法來(lái)讀取圖片,并且無(wú)須考慮圖片是何種類型。Pillow 能夠很輕松地實(shí)現(xiàn)圖片格式之間的轉(zhuǎn)換。

圖片格式之間的轉(zhuǎn)換主要有以下兩種方法,下面分別對(duì)它們進(jìn)行了介紹:

save()

顧名思義,save() 方法用于保存圖像,當(dāng)不指定文件格式時(shí),它會(huì)以默認(rèn)的圖片格式來(lái)存儲(chǔ);如果指定圖片格式,則會(huì)以指定的格式存儲(chǔ)圖片。save() 的語(yǔ)法格式如下:

Image.save(fp, format=None)

參數(shù)說(shuō)明如下:

  • fp:圖片的存儲(chǔ)路徑,包含圖片的名稱,字符串格式;
  • format:可選參數(shù),可以指定圖片的格式。

示例如下:

?
1
2
3
from PIL import Image
im = Image.open("C:/Users/Administrator/Desktop/c-net.png")
im.save('C:/Users/Administrator/Desktop/c.biancheng.net.bmp')

此時(shí)您的計(jì)算機(jī)桌面上會(huì)存在一個(gè) c.bianchneg.net.BMP格式的圖片。

convert()+save()

注意,并非所有的圖片格式都可以用 save() 方法轉(zhuǎn)換完成,比如將 PNG 格式的圖片保存為 JPG 格式,如果直接使用 save() 方法就會(huì)出現(xiàn)以下錯(cuò)誤:

?
1
2
3
from PIL import Image
im = Image.open("C:/Users/Administrator/Desktop/c-net.png")
im.save('C:/Users/Administrator/Desktop/c.biancheng.net.jpg')

錯(cuò)誤信息如下所示:

#系統(tǒng)錯(cuò)誤,RGBA不能作為JPEG圖片的模式

OSError: cannot write mode RGBA as JPEG

引發(fā)錯(cuò)誤的原因是由于 PNG 和 JPG 圖像模式不一致導(dǎo)致的。其中 PNG 是四通道 RGBA 模式,即紅色、綠色、藍(lán)色、Alpha 透明色;JPG 是三通道 RGB 模式。因此要想實(shí)現(xiàn)圖片格式的轉(zhuǎn)換,就要將 PNG 轉(zhuǎn)變?yōu)槿ǖ?RGB 模式。

Image 類提供的 convert() 方法可以實(shí)現(xiàn)圖像模式的轉(zhuǎn)換。該函數(shù)提供了多個(gè)參數(shù),比如 mode、matrix、dither 等,其中最關(guān)鍵的參數(shù)是 mode,其余參數(shù)無(wú)須關(guān)心。語(yǔ)法格式如下:

?
1
convert(mode,parms**)
  • mode:指的是要轉(zhuǎn)換成的圖像模式;
  • params:其他可選參數(shù)。

修改后的代碼如下所示:

?
1
2
3
4
5
6
from PIL import Image
im = Image.open("C:/Users/Administrator/Desktop/c-net.png")
#此時(shí)返回一個(gè)新的image對(duì)象,轉(zhuǎn)換圖片模式
image=im.convert('RGB')
#調(diào)用save()保存
image.save('C:/Users/Administrator/Desktop/c.biancheng.net.jpg')

通過(guò)以上代碼,成功將 PNG 格式的圖片轉(zhuǎn)換為了 JPG 格式。 

Pillow Image.save 保存為jpg圖片壓縮

在使用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ù):

?
1
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ù),能夠大大增加圖片大?。?/p>

?
1
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格式的圖片的情況。

參考文檔:https://pillow.readthedocs.io/en/5.1.x/handbook/image-file-formats.html#jpeg

參考文檔:https://pillow.readthedocs.io/en/4.0.x/PIL.html

到此這篇關(guān)于 Python Pillow Image.save 保存為jpg圖片壓縮問(wèn)題的文章就介紹到這了,更多相關(guān)Pillow Image.save 保存為jpg內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家! 

原文鏈接:https://blog.csdn.net/weixin_41935140/article/details/83308359

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人aⅴ视频 | 精品黄色在线 | 午夜影视 | 日韩成人一级 | 精品久久久久久亚洲综合网 | 久久久99精品免费观看 | 99在线免费视频 | 欧美日韩久久精品 | 天天精品视频免费观看 | 色视频www在线播放国产人成 | 涩涩999 | 日韩欧美视频免费 | 日韩不卡| 亚洲天堂一区 | 日韩一级免费观看 | 国产精品一码二码三码在线 | 国产精品久久久久久久久久新婚 | 久久精品91 | 电影91久久久 | 久久久91精品国产一区二区三区 | 国产精品国色综合久久 | 日韩欧美一区二区三区免费观看 | 久久久中文字幕 | 伊人福利视频 | 欧美成人综合 | 久久久91精品国产一区二区三区 | 欧美电影网站 | 中文字幕亚洲欧美日韩在线不卡 | 国产日韩欧美在线 | 国产精品无码久久久久 | 日本女人高潮视频 | 久久艹综合 | 午夜视频在线观看一区二区三区 | 亚洲在线 | 日韩精品免费一区二区三区 | 高清视频一区 | 亚洲成人午夜电影 | 亚洲国产一区二区三区精品 | 一区欧美| 欧美中文字幕在线观看 | 无码日韩精品一区二区免费 |