%pylab inline
from PIL import Image,ImageDraw,ImageFont
Populating the interactive namespace from numpy and matplotlib
# 画像を読み込み
img = Image.open('in-image/lena_std.tif')
# ファイルの情報表示
print('size : ', img.size)
print('format : ', img.format)
print('mode : ', img.mode)
print('palette : ', img.palette)
print('info : ', img.info)
size : (512, 512) format : TIFF mode : RGB palette : None info : {'resolution': (1.0, 1.0), 'compression': 'raw'}
pl_img = np.array(img) ; plt.imshow( pl_img ) # 表示
<matplotlib.image.AxesImage at 0xaa37cc8c>
# ファイル形式を変換して保存(拡張子を見て自動的に判定する)
img.save('work-image/lena.jpg')
img = Image.open('work-image/lena.jpg')
# ファイルの情報表示
print('size : ', img.size)
print('format : ', img.format)
print('mode : ', img.mode)
print('palette : ', img.palette)
print('info : ', img.info)
size : (512, 512) format : JPEG mode : RGB palette : None info : {'jfif': 257, 'jfif_version': (1, 1), 'jfif_unit': 0, 'jfif_density': (1, 1)}
# 200*200にサイズ変更
resize_img = img.resize((200,200),Image.ANTIALIAS)
# ファイルの情報表示
print('size : ', resize_img.size)
print('format : ', resize_img.format)
print('mode : ', resize_img.mode)
print('palette : ', resize_img.palette)
print('info : ', resize_img.info)
size : (200, 200) format : None mode : RGB palette : None info : {'jfif': 257, 'jfif_version': (1, 1), 'jfif_unit': 0, 'jfif_density': (1, 1)}
# 変換したデータを保存
resize_img.save('work-image/resize_lena.jpg')
pl_img = np.array(resize_img) ; plt.imshow( pl_img ) # 表示
<matplotlib.image.AxesImage at 0xaa0df9ac>
# 元データ(img)はすでに読みこんであるので、それをトリミング
trim_img = img.crop((64,64,448,448))
pl_img = np.array(trim_img) ; plt.imshow( pl_img ) # 表示
<matplotlib.image.AxesImage at 0xaa085dec>
# トリミングしたデータを保存
trim_img.save('work-image/trim_lena.jpg')