# coding=UTF-8
import Image
import ImageFilter
# 画像をぼかす
img1 = Image.open("sf.jpg")
img2 = img1.filter(ImageFilter.BLUR)
img2.save("sample620a.jpg")
元画像(sf.jpg)
出力画像(sample620a.jpg)

関連情報
Python Imaging Libraryまとめ

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="200" height="200">
<polyline points="100,0 0,200 200,200"
style="fill:#bbddff; stroke-width:1; stroke:#000000 "
/>
</svg>

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest53
{
public static void main(String args[])
throws Exception
{
/* ガラス効果 */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
/* displacementマップの作成 */
BufferedImage img2 = new BufferedImage(
img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB
);
/* 白背景に塗りつぶし後、黒で文字列描画 */
FillFilter ff = new FillFilter(0xffffffff);
img2 = ff.filter(img2, null);
Graphics2D gr = img2.createGraphics();
gr.setColor(new Color(0x00, 0x00, 0x00, 0xff));
gr.setFont(new Font("Tahoma", Font.BOLD, 100));
gr.drawString("SF", 40, 150);
gr.dispose();
/* displacementマップのぼかし */
GaussianFilter gf = new GaussianFilter(4);
img2 = gf.filter(img2, null);
DisplaceFilter df = new DisplaceFilter();
/* displacementマップ設定 */
df.setDisplacementMap(img2);
/* effect量 */
df.setAmount(0.7f);
/* 端の処理 */
df.setEdgeAction(TransformFilter.CLAMP);
BufferedImage img3 = df.filter(img, null);
ImageIO.write(img3, "jpg", new File("sample584a.jpg"));
}
}

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="200" height="200">
<polygon points="100,0 0,200 200,200"
style="fill:#bbddff; stroke-width:1; stroke:#000000 "
/>
</svg>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<title>sample644(ImageMagick6.4.2)</title>
</head>
<body>
<?php
/* 画像の左上下と右下に半透明のグラデーションを描画する */
$im = new Imagick("sf2.jpg");
$im2 = new Imagick();
$im2->newImage($im->getImageWidth(), $im->getImageHeight(), "black");
$im2->setImageMatte(true);
$idraw = new ImagickDraw();
/* 塗りつぶし色設定 */
$idraw->setStrokeColor('white');
$idraw->setStrokeWidth(200);
$idraw->setStrokeAntialias(false);
$idraw->line(0, $im->getImageHeight(), $im->getImageWidth(), 0);
$im2->drawImage($idraw);
$im2->paintTransparentImage("white", 0, 0);
$im2->paintOpaqueImage("black", "#bbddffd0", 0);
$im2->blurImage(0, 20, Imagick::CHANNEL_ALL);
/* 重ね合わせ */
$im->compositeImage($im2, Imagick::COMPOSITE_DEFAULT, 0, 0);
$im->writeImage('sample644a.jpg');
$im2->destroy();
$im->destroy();
?>
<img src="sample644a.jpg" />
</body>
</html>

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest52
{
public static void main(String args[])
throws Exception
{
/* 影付けする */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage img2 = new BufferedImage(
img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB
);
Graphics2D gr = img2.createGraphics();
gr.setColor(new Color(0xff, 0xff, 0xff, 0xff));
gr.setFont(new Font("Tahoma", Font.BOLD, 28));
gr.drawString("San Francisco", 5, 50);
gr.dispose();
// ShadowFilter sf = new ShadowFilter(3f,3f,-3f,0.8f);
ShadowFilter sf = new ShadowFilter();
/* 半径 */
sf.setRadius(7f);
/* 透明度 */
sf.setOpacity(0.9f);
/* 角度 */
sf.setAngle(300f/180f*ImageMath.PI);
/* 距離 */
sf.setDistance(5f);
/* 影の色 */
sf.setShadowColor(0xff202020);
/* 影のマージン */
sf.setAddMargins(false);
/* 影のみにするか */
sf.setShadowOnly(false);
BufferedImage img3 = sf.filter(img2, null);
Graphics2D gr2 = img.createGraphics();
gr2.drawImage(img3,0,0,null);
gr2.dispose();
ImageIO.write(img, "jpg", new File("sample583a.jpg"));
}
}
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="200" height="200">
<rect x="50" y="50" width="100" height="100"
rx="20" ry="20"
style="fill:#bbddff; stroke-width:1;
stroke:#000000 "/>
</svg>

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest51
{
public static void main(String args[])
throws Exception
{
/* Lookupフィルタ */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
/* カラーマップを作成 */
ArrayColormap ac = new ArrayColormap();
ac.setColorRange(0, 50, Color.BLACK.getRGB(), Color.BLUE.getRGB());
ac.setColorRange(51, 101, Color.BLUE.getRGB(), Color.GREEN.getRGB());
ac.setColorRange(102, 152, Color.GREEN.getRGB(), Color.YELLOW.getRGB());
ac.setColorRange(153, 204, Color.YELLOW.getRGB(), Color.RED.getRGB());
ac.setColorRange(205, 255, Color.RED.getRGB(), Color.WHITE.getRGB());
LookupFilter lf = new LookupFilter(ac);
BufferedImage img2 = lf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample582a.jpg"));
}
}
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="300" height="300">
<ellipse cx="150" cy="150" rx="100" ry="70"
style="fill:#bbddff; stroke-width:1; stroke:#000000 "
/>
</svg>

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest50
{
public static void main(String args[])
throws Exception
{
/* FBMフィルタ */
BufferedImage img = new BufferedImage(
200, 200, BufferedImage.TYPE_INT_RGB
);
FBMFilter fbmf = new FBMFilter();
/* effect量 */
fbmf.setAmount(1f);
/* 操作タイプ */
fbmf.setOperation(FBMFilter.NOISE);
/* スケール */
fbmf.setScale(32);
/* 引き伸ばし率 */
fbmf.setStretch(1f);
/* 角度 */
fbmf.setAngle(10f/180f*ImageMath.PI);
/* カラーマップを作成&設定 */
ArrayColormap ac = new ArrayColormap();
ac.setColorRange(0, 100, 0x00000000, 0xffff8040);
ac.setColorRange(101, 200, 0xffff8040, 0xffffff60);
ac.setColorRange(201, 255, 0xffffff60, 0xffffffe0);
fbmf.setColormap(ac);
BufferedImage img2 = fbmf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample581a.jpg"));
}
}

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="200" height="200">
<circle cx="100" cy="100" r="90"
style="fill:#bbddff; stroke-width:1; stroke:#000000 "
/>
</svg>

>
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest49
{
public static void main(String args[])
throws Exception
{
/* グローフィルタ */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
GlowFilter gf = new GlowFilter();
/* effect量 */
gf.setAmount(0.3f);
BufferedImage img2 = gf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample580a.jpg"));
}
}

require 'RMagick'
include Magick
# 余白
px = 10
py = 10
# 画像読み込み
images = ImageList.new("sf2.jpg")
# マスク作成
mask = Image.new(images[0].columns, images[0].rows){
self.background_color = "none"
}
idr = Draw.new
idr.rectangle(px, py, images[0].columns-1-px, images[0].rows-1-px)
idr.draw(mask);
mask = mask.spread(2);
# マスクを利用して切り取り
img2 = mask.composite(images[0], 0, 0, SrcInCompositeOp)
# 背景用画像
bg = Image.new(images[0].columns, images[0].rows){
self.background_color = "white"
}
img3 = bg.composite(img2, CenterGravity, 0, 0, OverCompositeOp);
img3.write("sample643a.png")
exit

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="300" height="300">
<rect x="50" y="50" width="200" height="200"
style="fill:#bbddff; stroke-width:1;
stroke:#000000 "/>
</svg>
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest48
{
public static void main(String args[])
throws Exception
{
/* 放射ブラー */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
MotionBlurFilter mbf = new MotionBlurFilter();
mbf.setAngle(0f/180f*ImageMath.PI);
mbf.setDistance(1f);
mbf.setRotation(0.0f);
mbf.setZoom(0.1f);
mbf.setWrapEdges(false);
BufferedImage img2 = mbf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample579a.jpg"));
}
}




<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="200" height="200">
<line x1="0" y1="0" x2="200" y2="200"
style="stroke:#bbddff; stroke-width:2"/>
</svg>
<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200"
height="200">
<rect x="20" y="20" width="100" height="100" rx="20" fill="#bbddff"
stroke="#8899ee" stroke-width="1px" />
<rect x="100" y="90" width="80" height="80" rx="10" fill="#cac0c0"
stroke="#999999" stroke-width="2px" fill-opacity="0.3" />
</svg>
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest47
{
public static void main(String args[])
throws Exception
{
/* 鏡面画像 */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage img2 = new BufferedImage(
200, 400, BufferedImage.TYPE_INT_ARGB_PRE
);
Graphics2D gr = img2.createGraphics();
gr.drawImage(img,0,0,null);
gr.dispose();
MirrorFilter mf = new MirrorFilter();
/* 角度 */
// not implemented?
//mf.setAngle(0f/180f*ImageMath.PI);
/* 距離 */
// not implemented?
//mf.setDistance(0);
/* 回転 */
// not implemented?
//mf.setRotation(0f/180f*ImageMath.PI);
/* gap */
mf.setGap(0.01f);
/* 透明度 */
mf.setOpacity(0.6f);
/* 中央Y */
mf.setCentreY(0.5f);
BufferedImage img3 = mf.filter(img2, null);
BufferedImage img4 = new BufferedImage(
200, 400, BufferedImage.TYPE_INT_RGB
);
Graphics2D gr2 = img4.createGraphics();
gr2.drawImage(img3,0,0,null);
gr2.dispose();
ImageIO.write(img4, "jpg", new File("sample578a.jpg"));
}
}




import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest46
{
public static void main(String args[])
throws Exception
{
/* 画像をスクロール(ロール)させる */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
OffsetFilter of = new OffsetFilter();
/* Xオフセット */
of.setXOffset(50);
/* Yオフセット */
of.setYOffset(50);
/* wrap指定 */
of.setWrap(true);
BufferedImage img2 = of.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample577a.jpg"));
}
}



import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest45
{
public static void main(String args[])
throws Exception
{
/* 木目調のテクスチャを生成する */
BufferedImage img = new BufferedImage(
200, 200, BufferedImage.TYPE_INT_RGB
);
WoodFilter wf = new WoodFilter();
/* rings value */
wf.setRings(0.5f);
/* スケール */
wf.setScale(200);
/* 伸張率 */
wf.setStretch(8.0f);
/* 角度 */
wf.setAngle(10f/180f*ImageMath.PI);
/* 乱れ */
wf.setTurbulence(0.2f);
/* 繊維の量 */
wf.setFibres(0.5f);
BufferedImage img2 = wf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample576a.jpg"));
}
}


import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest44
{
public static void main(String args[])
throws Exception
{
/* 画像を拡散させる */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
DiffuseFilter df = new DiffuseFilter();
/* スケール */
df.setScale(10);
BufferedImage img2 = df.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample575a.jpg"));
}
}


import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;
public class Java2DTest43
{
public static void main(String args[])
throws Exception
{
/* 画像を減色する */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
QuantizeFilter qf = new QuantizeFilter();
/* 色数 */
qf.setNumColors(64);
/* ディザ使用 */
qf.setDither(true);
/* サーペンタインパターンを使用するか */
qf.setSerpentine(true);
BufferedImage img2 = qf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample574a.jpg"));
}
}
