1-4 「輝度反転」
モチベーション
画像の細かいディテールを確認する場合に、反転前後の画像を比較すると見つけやすくなるかもしれません。
やり方
PILライブラリを使用し、グレースケールで画像を読み込みます。読み込んだ画像は、uint8型なので 0~255 の値をとります。輝度反転(白黒反転)するために、入力画像の画素値を 255 から引いています。
プログラム
グレー画像をPILで取得しNumpy配列化後、画素値(輝度値)を255から引くことで反転画像を取得します。
#!/usr/bin/python # -*- coding: utf-8 -*- # 輝度反転 from PIL import Image import numpy as np from matplotlib import pylab as plt # 画像の読み込み im = np.array(Image.open('input.bmp').convert('L')) print(im.shape, im.dtype) # ((540L, 960L), dtype('uint8')) # 画像の表示 plt.title("before") plt.gray() # 表示カラーマップをグレースケールとする plt.imshow(im) plt.show() # 読み込んだ画像は、uint8型なので 0~255 の値をとる # 輝度反転するためには、入力画像の画素値を 255 から引く im = 255 - im[:,:] print(im.shape, im.dtype) # ((540L, 960L), dtype('uint8')) # 画像の表示 plt.title("after") plt.imshow(im) plt.show() #保存 Image.fromarray(im).save('output.bmp')
実行結果