PythonPillow-画像の操作

この章では、Pillowで画像を読み取って保存する方法などのトピックについて詳しく説明します。

画像を読む

枕ライブラリを使用した画像の読み取りと書き込みは非常に簡単で、 PIL.Image module function

構文

Image.open(fp, mode=’r’)

どこ

  • fp−ファイル名(文字列)、pathlib.Pathオブジェクトまたはファイルオブジェクト。ファイルオブジェクトは、read()、seek()、tell()メソッドを実装し、バイナリモードで開く必要があります。

  • mode −これはオプションの引数です。指定する場合は「r」にする必要があります。

  • Return value −画像オブジェクト。

  • Error −ファイルが見つからない場合、または画像を開いて識別できない場合。

以下は非常に単純な例で、任意の形式の画像を開きます(を使用しています。jpg)、ウィンドウに表示してから、別のファイル形式(。png)。

from PIL import Image
image = Image.open('beach1.jpg')
image.show()
image.save('beach1.bmp')
image1 = Image.open('beach1.bmp')
image1.show()

上記の例では、PILライブラリからImageモジュールをインポートしてから、 Image.open()ディスクから画像を読み取る関数。画像オブジェクトのデータ型を返します。ファイルの内容を確認することにより、ファイルの種類を自動的に判別します。読むために、open() 関数は filename(string)path object または image(file) オブジェクト。

したがって、open()関数を使用して、実際に画像を読み取っています。Image.open()は画像を読み取り、画像からすべての関連情報を取得します。

出力

上記のプログラムをExample.pyとして保存して実行すると、次のように、標準のPNG表示ユーティリティを使用して元の(.jpg)画像と再保存された(.bmp)画像が表示されます。

Actual image

Resaved image (.bmp)

画像を保存する

save()関数は、画像をファイルに書き込みます。読み取り(open()関数)の場合と同様に、save()関数は、ファイル名、パスオブジェクト、または書き込み用に開かれたファイルオブジェクトを受け入れます。

構文

Image.save(fp, format=None, **params)

どこ、

  • fp −ファイル名(文字列)、pathlib.Pathオブジェクトまたはファイルオブジェクト。

  • format−オプションのフォーマットオーバーライド。省略した場合、使用する形式はファイル名拡張子から決定されます。ファイル名の代わりにファイルオブジェクトが使用された場合は、このパラメータを常に使用する必要があります。

  • options −イメージライターへの追加パラメーター。

  • Return value −なし

  • KeyError −ファイル名から出力形式を判別できなかった場合は、formatオプションを使用して解決してください。

  • IOError −ファイルに書き込めなかった場合は、ファイルが作成されている可能性があり、部分的なデータが含まれている可能性があります。

要するに、上記の構文は、指定されたファイル名で画像を保存します。形式が指定されていない場合は、現在のファイル名拡張子に基づいています。ライターに追加の指示を提供するために、キーワードオプションを使用します。

image.save('beach1.bmp')

上記の例では、ファイル拡張子に基づいてファイルを保存し、画像の種類を判別します。たとえば、上記の例では、現在の作業ディレクトリにbmpファイルが作成されます。

ファイルタイプを2番目のパラメータとして明示的に指定することもできます-

image.save('beach1.gif', 'GIF')