PILを使用しPythonで画像をWebP(ウェッピー)形式に変換してみます。
WebP(ウェッピー)形式は、GoogleがリリースしたWebMビデオコンテナ形式の姉妹プロジェクトであり、On2 Technologiesという会社によって開発されたVP8ビデオコーデックをベースにしたもの。
WebP形式の画像を使用する場合、品質を維持しながら、画像のサイズを縮小すると同時に、ページの読み込みが速くなり、使用する帯域幅が少なくなり、バッテリー電力が節約されます (特にモバイルの場合) 。
なお、PIL(Python Imaging Library)は、Pythonの標準ライブラリではありませんので、事前にインストールしておく必要があります。
■Python
今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)
■画像を用意する
Pythonで画像をWebP(ウェッピー)形式に変換しますが、その前に変換する画像を用意します。
今回用意したのは森林の画像です。著作権フリーの素材を使用します。
ファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」になります。
■PILを使用し画像をWebP(ウェッピー)形式に変換する
では、PILを使用し画像をWebP(ウェッピー)形式に変換するスクリプトを書いていきます。
■JPGをWEBPに変換する
■コード
from PIL import Image imgfile = Image.open(r'C:\Users\user\test\forest_sample.jpg').convert('RGB') imgfile.save(r'C:\Users\user\test\forest.webp','webp')
インポートでPILを呼び出して、imgfileという変数を作成し、Image.open()で今回用意したJPG形式の画像ファイルを指定します。指定したファイルをconvert()でRGB形式に変換します。
変換したものをsave()で指定したファイルの保存場所に、WebP(ウェッピー)形式で保存します。save()の括弧内は、第1の引数はファイルパスで、第2の引数は、変換するファイル形式です。
■実行
今回書いたスクリプトを「jpg-webp-convert.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回用意したJPG形式のファイルが、WebP(ウェッピー)形式のファイルに変換されていることが確認できました。
■PNGをWEBPに変換する
今回用意したファイルはJPG形式でしたが、PNG形式もWebP(ウェッピー)形式のファイルに変換してみます。
■コード
from PIL import Image imgfile = Image.open(r'C:\Users\user\test\forest_sample.png').convert('RGB') imgfile.save(r'C:\Users\user\test\forest.webp','webp')
スクリプト自体は、JPG形式のファイルを変換した時とほとんど変わりません。今回は「forest_sample.jpg」だったのを「forest_sample.png」に変更しています。
■実行
スクリプトは「png-webp-convert.py」という名前に変更して、コマンドプロンプトから実行してみます。
実行してみると、png形式の画像が、WebP(ウェッピー)形式のファイルに変換されることを確認できました。
コメント