Pillow图片格式转换
Pillow圖片格式轉換
Pillow 庫支持多種圖片格式,您可以直接使用 open() 方法來讀取圖片,并且無須考慮圖片是何種類型。同時,Pillow 能夠很輕松地實現圖片格式之間的轉換。
圖片格式之間的轉換主要有以下兩種方法,下面分別對它們進行了介紹:
save()
顧名思義,save() 方法用于保存圖像,當不指定文件格式時,它會以默認的圖片格式來存儲;如果指定圖片格式,則會以指定的格式存儲圖片。save() 的語法格式如下:
Image.save(fp, format=None)
參數說明如下:
fp:圖片的存儲路徑,包含圖片的名稱,字符串格式;
format:可選參數,可以指定圖片的格式。
示例如下:
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() 方法就會出現以下錯誤:
from PIL import Image
im = Image.open(“C:/Users/Administrator/Desktop/c-net.png”)
im.save(‘C:/Users/Administrator/Desktop/c.biancheng.net.jpg’)
錯誤信息如下所示:
#系統錯誤,RGBA不能作為JPEG圖片的模式
OSError: cannot write mode RGBA as JPEG
引發錯誤的原因是由于 PNG 和 JPG 圖像模式不一致導致的。其中 PNG 是四通道 RGBA 模式,即紅色、綠色、藍色、Alpha 透明色;JPG 是三通道 RGB 模式。因此要想實現圖片格式的轉換,就要將 PNG 轉變為三通道 RGB 模式。
Image 類提供的 convert() 方法可以實現圖像模式的轉換。該函數提供了多個參數,比如 mode、matrix、dither 等,其中最關鍵的參數是 mode,其余參數無須關心。語法格式如下:
convert(mode,parms**)
mode:指的是要轉換成的圖像模式;
params:其他可選參數。
修改后的代碼如下所示:
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图片格式转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程项目——校园二手交易系统——第一
- 下一篇: 机器学习算法实现解析——word2vec