2018年10月30日火曜日

開発環境

実践 コンピュータビジョン (Jan Erik Solem (著)、相川 愛三 (翻訳)、オライリージャパン)の1章(基本的な画像処理)、1.6(演習問題)1.を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from PIL import Image
import numpy as np
from scipy import ndimage
import matplotlib.pyplot as plt
import imtools

print('1.')

name = '東京都庁舎'
im = np.array(Image.open(f'{name}.jpg'))
ims = [np.zeros(im.shape) for _ in range(5)]

for i, _ in enumerate(ims):
    for j in range(3):
        # 標準偏差
        σ = 2 * i
        ims[i][:, :, j] = ndimage.filters.gaussian_filter(im[:, :, j], σ)

ims = [np.uint8(im2) for im2 in ims]

for i, im2 in enumerate(ims):
    im2 = imtools.imresize(im2, (250, 250))
    plt.imsave(f'{name}{i}.png', im2)

入出力結果(Terminal, Jupyter(IPython))

$ ./sample1.py
1.
$

標準偏差の値が大きいほど詳細が失われるから。

0 コメント:

コメントを投稿