pythonで用いるPillowの説明続きです。画像処理に関するモジュールがたくさんあります。
資料はこちら → pillowその2
p.1 直接図を描くことも可能です。直線は、[DrawImage].line(位置、fill=色、width=整数)。四角形は、[DrawImage].rectangle(領域、outline=色、 fill=色)を用います。
p.2 円の描画は、[DrawImage].ellipse(領域、outline=色、 fill=色)。ここにテキストを挿入する場合は、[DrawImage].text(位置、テキスト、font=フォント、 fill=色)です。
p.3 左例は、画像の貼り付け(ペースト)です。(w,h)=img.sizeで画像の横幅と縦幅の情報をwとhに代入します。img.resizeで画像の大きさを指定して、.paste([Image]、位置)で貼り付けます。 右例は、crop(領域)でカットして、.paste([Image]、位置)で貼り付けます。
p.4 左例は、グレースケールと富士山画像とのブレンド。右例は、セピア色にしています。
p.5 「ImageOps」を用いると、いろいろな画像処理が可能になります。左例は、オートコントラストです。輝度のヒストグラムのcutoff値以下は調整されず黒くなります。右に各種スクリプトを示します。上下反転、左右反転、輝度反転などです。「ポスタライズ」では、ビット数を指定すれば、ポスターのように少ない色で表現することが可能になります。2ビット(4色)の実行例を示しておきます。ビット数=2nのnが色の数です。
p.6 左例がソアリゼーションで、しきい値が0~127の範囲で、色合いが変化します。右例は、カラーライズで、白と黒の比率で様々な色合いに変化します。
p.7 輝度の平均値を基にコントラストをつけます。
p.8 「ImageChopsモジュール」を用いた事例です。 2つの画像を比較して、暗い方あるいは明るい方を選択して描いたものです。比較するのはグレースケールで、暗い方を選択したのが左図、明るい方を選択したのが、右図です。
p.9 2つの画像の加算、乗算、減算が可能です。マスクを用いると、画像をはめ込むことが容易にできます。 右下の実行例は、グレースケールにマスクで穴をあけ、富士山を貼り付けています。
これで、pillowの説明は終了です。 オリジナリティのある年賀状作成にも使えそうなスクリプトですね。試してみてください。
本日用いたスクリプトはこちら → pillow2(スクリプト)