Home > プログラム > ConvolveOpでぼかし

ConvolveOpでぼかし

画像のぼかしがしたくなり、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を選ぶと、黒くなります。うーん…。

ConvolveOp.EDGE_ZERO_FILL

Comments:0

Comment Form
Remember personal info

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 ぜんのホームページ

Home > プログラム > ConvolveOpでぼかし

検索
フィード
メタ
カウンタ
  • 420,981 since June 1998.

Page Top