1. 製品
  2.   画像
  3.   Python
  4.   Wand
 
  

画像用のオープン ソース Python API

Python 用の ctypes ベースの単純な ImageMagick バインディング

Wand は、画像を操作するためのオープン ソースの Python API です。 API は、Python 用の ctypes ベースのシンプルな ImageMagick バインディングです。 API を使用すると、画像の読み取り、画像の書き込み、画像効果の追加、特殊効果の追加、画像の変換、色補正の実行、画像の歪みの管理、描画の処理、EXIF 情報の読み取り、レイヤーとシーケンスの管理などを行うことができます。

MagicWand の他の python バインディングと比較して、ワンドは pythonic および最新のインターフェイスを提供し、ctypes および C API のみを介してバインディングし、pip を介して簡単にインストールできます。

Previous Next

ワンド入門

ワンドをインストールする推奨される方法は、Pip を使用することです。次のコマンドを使用して Pip をインストールしてください。

Pip経由でWandをインストールする

pip install Wand

無料の Python API による画像の読み取り、書き込み、サイズ変更

Wand API を使用すると、プログラムで画像の読み取り、書き込み、サイズ変更、トリミングを行うことができます。 API を使用して、既存の画像を開き、入力ストリームを読み取り、blob を読み取り、空の画像を開き、疑似画像を開きます。画像の書き込み中に、画像を JPEG に変換し、新しいファイルに保存し、ストリームに保存して、バイナリ出力画像を取得できます。さらに、画像のサイズ変更、トリミング、および変換を簡単に行うことができます。

Free Python APIで画像を変換する


# crop top left corner
img.transform('50%')
# scale height to 100px and preserve aspect ratio
img.transform(resize='x100')
# if larger than 640x480, fit within box, preserving aspect ratio
img.transform(resize='640x480>')
# crop a 320x320 square starting at 160x160 from the top left
img.transform(crop='320+160+160')

Python を介して画像に効果を追加する

このオープンソースの Python API ワンドを使用すると、プログラムで画像に効果を追加できます。 API を使用して、画像をぼかしたり、斑点除去、エッジ、エンボス、桑原、陰影、シャープ化、拡散効果を使用したりできます。さらに、ノイズ、ブルー シフト、チャコール、カラー マトリックス、カラー化、FX などの特殊効果を追加できます。

Pythonで画像にボスエフェクトを追加する


from wand.image import Image
with Image(filename="hummingbird.jpg") as img:
    img.transform_colorspace('gray')
    img.emboss(radius=3.0, sigma=1.75)
    img.save(filename="effect-emboss.jpg")

Pythonでイメージを他のフォーマットに変換する

オープン ソースの Python ライブラリ wand を使用すると、ソフトウェア開発者は、Python アプリケーション内でサポートされている他のファイル形式に画像をエクスポートできます。 format プロパティを使用して、画像形式を知ることができます。開発者は、GIF、JPEG、BMP、PNG、SVG、TIFF など、さまざまな一般的な画像ファイル形式に画像を変換できます。ライブラリは、元の画像を変更せずに画像変換をサポートするか、ユーザーが目的の形式に書き込む前にさまざまな効果を適用できます。画像をファイルに保存する、画像を出力ストリームに書き込む、画像のバイナリ文字列を取得するなど、画像を保存するためのいくつかの方法を提供します。

PythonでNGイメージをJPEGに変換

from wand.image import Image
with Image(filename='pikachu.png') as original:
    with original.convert('jpeg') as converted:
        # operations to a jpeg image...
        pass
 日本