PillowのImageOpsモジュールを使ってコントラスト強調、カラー反転を実装する

スポンサーリンク

プログラマーのこの記事では、PythonのImageOpsモジュールについて見ていきます。

このモジュールには、あらかじめ組み込まれた画像処理メソッドが多数含まれています。

さらに、大半の演算子はLとRGBの画像しか扱えません。

ImageOpsモジュールの多くの関数は以下の通りです。

スポンサーリンク

Original Image Chosen

1
2
3
4
from PIL import ImageOps, Image
img = Image.open('pic1.jpg')
img2 = ImageOps.autocontrast(img, cutoff=40)
img2.show()

枕を使ったオートコントラスト機能

オートコントラスト機能は、画像のコントラストを均一化するために使用されます。

image、cutoff、ignoreの3つのパラメータを必要とします。

画像を処理するには、引数imageを使用します。

画像のコントラストを正規化するには、cutoffの値を採用します。

ignoreは、背景画素を抑制するための引数です。

この関数は、結果として画像を生成します。

1
2
3
4
from PIL import ImageOps, Image
img = Image.open('pic1.jpg')
img2 = ImageOps.colorize(img, black="red", white="white", mid="yellow")
img2.show()
1
2
3
4
from PIL import ImageOps, Image
img = Image.open('pic1.jpg')
img2 = ImageOps.invert(img)
img2.show()

Pythonの枕を使ったカラー化関数

この関数でグレースケールの写真をカラー化します。

全部で7つのパラメータが必要です。

最初の引数は、着色する写真です。

第2引数にはblackを指定し、黒い画素のみを入力として受け付ける。

同様に、3番目の引数は白で、白いピクセルを入力として受け入れる。

4番目のオプションであるmidは、中間調の入力画素に利用される。

最後の3つのパラメータは、黒点、白点、および中間点です。

これら3つのパラメータは、それぞれマッピングのために[0, 255]の整数入力を持ちます。

colorize関数は画像を作成し、それを返します。

1
2
3
4
from PIL import ImageOps, Image
img = Image.open('pic1.jpg')
img2 = ImageOps.posterize(img, 3)
img2.show()
ImageOps Original Image

Pythonの枕を使った反転関数

この関数は、画像を反転させて否定するために使用します。

例えば、invert関数は、1枚の画像を入力し、反転した画像を生成します。

ImageOps Autocontrast
ImageOps Colorize

ポロライズ機能

この関数は、各色チャンネルのビット数を減少させる。

これは2つの引数を必要とします。

最初の入力は画像で、2番目の引数は各チャンネルのビット数を記録するbitsです。

ImageOps Invert
ImageOps Polorize

まとめ

PillowのImageOpsモジュールについて学びました。

このチュートリアルはいかがでしたか?このチュートリアルが気に入ったのであれば、以下のチュートリアルを参考にしてみてください。

  1. xlrdモジュール – PythonでExcelファイルを扱うには?
  2. Python Yagmailモジュール – メールを送信する簡単な方法!
  3. pyzbarモジュール。Pythonでバーコードのデコードをする

お時間を割いていただき、ありがとうございました! 何か新しいことを学べたでしょうか!

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