PILを使用しPythonで画像をWebP(ウェッピー)形式に変換する

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(ウェッピー)形式のファイルに変換されることを確認できました。

コメント

タイトルとURLをコピーしました