- 2007-09-30 (Sun) 22:31
- プログラム
画像のぼかしがしたくなり、SunのJava 2D(TM) プログラマーズガイド - イメージングのサンプルプログラムを参考にテストプログラムを書いてみました。
端っこの処理がものすごくいい加減なのですが…。
元画像

処理後

ソースコード
final BufferedImage image = ImageIO.read(new File("a.jpg"));
final int blurSize = 40;
final float[] elements = new float[blurSize * blurSize];
Arrays.fill(elements, 1f / blurSize / blurSize);
final Kernel kernel = new Kernel(blurSize, blurSize, elements);
final ConvolveOp op = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
final BufferedImage image2 = new BufferedImage(image.getWidth(), image.getHeight(), image.getType());
op.filter(image, image2);
ImageIO.write(image2, "JPEG", new File("b.jpg"));
ConvolveOpの2つ目の引数には端っこの処理方法が指定できるようなのですが、EDGE_NO_OPとEDGE_ZERO_FILLしか選べません。EDGE_ZERO_FILLを選ぶと、黒くなります。うーん…。

- Newer: 目覚ましが鳴らなくて2
- Older: 脳トレって最近よく聞くけど一体どんなゲームなんやろ
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://zenjiro.dyndns.org/program/java-blur/trackback/
- Listed below are links to weblogs that reference
- ConvolveOpでぼかし from ぜんのホームページ