欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年11月23日 11:47:36   作者:翱翔的賴克  
Pillow 庫支持多種圖片格式,Pillow 能夠很輕松地實現(xiàn)圖片格式之間的轉換。本文就來詳細的介紹一下Image.save的具體使用,感興趣的可以了解一下

Pillow圖片格式轉換

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

圖片格式之間的轉換主要有以下兩種方法,下面分別對它們進行了介紹:

save()

顧名思義,save() 方法用于保存圖像,當不指定文件格式時,它會以默認的圖片格式來存儲;如果指定圖片格式,則會以指定的格式存儲圖片。save() 的語法格式如下:

Image.save(fp, format=None)

參數(shù)說明如下:

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

示例如下:

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

此時您的計算機桌面上會存在一個 c.bianchneg.net.BMP格式的圖片。

convert()+save()

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

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

錯誤信息如下所示:

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

OSError: cannot write mode RGBA as JPEG

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

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

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

修改后的代碼如下所示:

from PIL import Image
im = Image.open("C:/Users/Administrator/Desktop/c-net.png")
#此時返回一個新的image對象,轉換圖片模式
image=im.convert('RGB')
#調用save()保存
image.save('C:/Users/Administrator/Desktop/c.biancheng.net.jpg')

通過以上代碼,成功將 PNG 格式的圖片轉換為了 JPG 格式。?

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

在使用Pillow中的Image.save()方法,使用默認參數(shù)保存jpg圖片的過程中發(fā)現(xiàn)圖片被壓縮的很嚴重,導致原來很大的大小變成幾十K。這是因為在保存為jpg的過程中,內部使用壓縮算法對圖片進行的壓縮處理。

但是有些時候往往需要圖片的大小不能變化太大或不能太小。所以在使用此方式時可以加入?yún)?shù):

imObj.save(img_name, quality=95)

quality參數(shù): 保存圖像的質量,值的范圍從1(最差)到95(最佳)。 默認值為75,使用中應盡量避免高于95的值; 100會禁用部分JPEG壓縮算法,并導致大文件圖像質量幾乎沒有任何增益。

使用此參數(shù)后,圖片大小會增加。如果圖片的大小還不能滿足你的需求,是否還有其他方式去增加圖片大小呢?

通過查閱資料并嘗試,發(fā)現(xiàn)save方法還有一個可以配合quality使用的參數(shù),能夠大大增加圖片大?。?/p>

imObj.save(new_name, quality=95, subsampling=0)

subsampling參數(shù):子采樣,通過實現(xiàn)色度信息的分辨率低于亮度信息來對圖像進行編碼的實踐。 (參考:https://en.wikipedia.org/wiki/Chroma_subsampling

可能的子采樣值是0,1和2,對應于4:4:4,4:2:2和4:1:1(或4:2:0?)。

經(jīng)過實踐將值設為0便可以滿足圖片大小增大的需求。

注意: 以上方法的參數(shù)只針對于保存為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

到此這篇關于 Python Pillow Image.save 保存為jpg圖片壓縮問題的文章就介紹到這了,更多相關Pillow Image.save 保存為jpg內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!?

相關文章

  • Python調用golang代碼詳解

    Python調用golang代碼詳解

    這篇文章主要給大家介紹了關于Python調用golang代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • python 實現(xiàn)提取某個索引中某個時間段的數(shù)據(jù)方法

    python 實現(xiàn)提取某個索引中某個時間段的數(shù)據(jù)方法

    今天小編就為大家分享一篇python 實現(xiàn)提取某個索引中某個時間段的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python sort、sorted高級排序技巧

    python sort、sorted高級排序技巧

    這篇文章主要介紹了python sort、sorted高級排序技巧,本文講解了基礎排序、升序和降序、排序的穩(wěn)定性和復雜排序、cmp函數(shù)排序法等內容,需要的朋友可以參考下
    2014-11-11
  • Pycharm學習教程(5) Python快捷鍵相關設置

    Pycharm學習教程(5) Python快捷鍵相關設置

    這篇文章主要為大家詳細介紹了最全的Pycharm學習教程第五篇,Python快捷鍵相關設置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Windows下Anaconda安裝、換源與更新的方法

    Windows下Anaconda安裝、換源與更新的方法

    這篇文章主要介紹了Windows下Anaconda安裝、換源與更新的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 用python介紹4種常用的單鏈表翻轉的方法小結

    用python介紹4種常用的單鏈表翻轉的方法小結

    這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉的方法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 使用pyecharts生成Echarts網(wǎng)頁的實例

    使用pyecharts生成Echarts網(wǎng)頁的實例

    今天小編就為大家分享一篇使用pyecharts生成Echarts網(wǎng)頁的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 解決os.path.isdir() 判斷文件夾卻返回false的問題

    解決os.path.isdir() 判斷文件夾卻返回false的問題

    今天小編就為大家分享一篇解決os.path.isdir() 判斷文件夾卻返回false的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python通過ffmgep從視頻中抽幀的方法

    python通過ffmgep從視頻中抽幀的方法

    今天小編就為大家分享一篇python通過ffmgep從視頻中抽幀的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python+Pygame制作簡易版2048小游戲

    Python+Pygame制作簡易版2048小游戲

    2048作為經(jīng)典的手機端游戲一直深受大家的喜愛,本文將利用Python中的Pygame模塊制作簡單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-02-02

最新評論