Gauche-CVを使って画像にぼかしをいれる方法です。
元ネタはProgramming Computer Vision With Pythonから。
Gauche-CVはaharisuのごみ箱で公開されています。
Python PILでガウシアンフィルター
scipy の filters.gaussian_filter を使って、色空間毎にフィルターをかけます。画像への保存は、imwriteではなく、scipy.misc.imsave を使います。
# -*- coding: utf-8 -*- __author__ = 'Natsutani' import os from PIL import Image from numpy import * from scipy.ndimage import filters from scipy.misc import imsave import scipy # Tkinterの設定 # http://qiita.com/items/0a79c3c6d6b730f841ee os.environ['TCL_LIBRARY'] = 'C:/Python32/tcl/tcl8.5' os.environ['TK_LIBRARY'] = 'C:/Python32/tcl/tk8.5' im = array(Image.open('twittan.jpg')) im2 = zeros(im.shape) for i in range(3): im2[:,:,i] = filters.gaussian_filter(im[:,:,i],5) imsave('twittan_g.jpg', im2.astype('uint8'))
Gauche-CVでガウシアンフィルター
cv-smoothでフィルターをかけることができます。
(use cv) (let* ((src (cv-load-image "twittan.jpg")) (dst (cv-clone-image src))) (cv-smooth src dst CV_GAUSSIAN 11 11 0 0) (cv-save-image "twittan_g.jpg" dst))
処理結果
Gauche-CLによる処理結果です。