- - PR -
画像の縮小について
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-04 19:40
こんにちは、さくらばです。
ヒントは画像の拡大には効くのですが、縮小にはあまり有効に働かないです。 とくに RenderingHints.VALUE_INTERPOLATION_BILINEAR とか RenderingHints.VALUE_INTERPOLATION_BICUBIC は縮小の時には役に立ちません。 問題はジャギーですよね。 それならば、縮小する前にいちどぼかしをかけるとうまくいきます。 ぼかしをかけるには ConvolveOp クラスを使います。 添付したプログラムで行ったサンプルを示しておきます。 元の画像は 3008 x 2000 で、それを 300x200 にしています。 オリジナル: http://www5.airnet.ne.jp/sakuraba/java/temp/sample.jpg 単純に縮小: http://www5.airnet.ne.jp/sakuraba/java/temp/result1.jpg ぼかしてから縮小: http://www5.airnet.ne.jp/sakuraba/java/temp/result2.jpg この方法は時間がかかるという欠点がありますが、処理時間が気になら ない場合であれば有効だと思います。
| ||||||||
|
投稿日時: 2005-04-05 18:55
未記入さん、ありがとうございます。
えー、そんなばかな…とも思いつつ試してみました。 得られた出力は、通常のスケーリングで縮小したものと同程度のクオリティでした。残念。 シュンさん、ありがとうございます。 そうですね、ベクター画像なら、いくら縮小拡大してもクオリティは変わりませんものね。 今回、使用しているのはjpegのラスタ画像なので、ラスタ画像をベクター画像に変換するものはないかなと探してみましたが、さすがにそんなに都合のよいものはありませんでした。 さくらばさん、ありがとうございます。 私のほうでもPhotoShopではどうやって縮小しているんだろう、と思いまして調べたところ縮小するだけでなく、ぼかし等のフィルタをかけていることがわかりました。 サンプルソースためさせていただきました。たしかに使えそうですね。 フィルタの種類や順番などに、いろいろノウハウがあるようなので その辺調べてみます。 みなさま、いろいろ考えてくださってありがとうございます。 調査結果は随時書き込んでいきますので、よろしくおねがいします。 | ||||||||
|
投稿日時: 2005-04-05 23:30
unibon です。こんにちわ。
ダメですか?私はキレイに見えますが。以下、試したコードです。 拡大率は、0.5倍×0.5倍=0.25倍 です(面積が 1/16 になる)。
| ||||||||
|
投稿日時: 2005-04-07 12:13
ImageFilterでの縮小はだめでしょうか?
ImageFilter imgfilter = new AreaAveragingScaleFilter(500,500); W_Image = createImage(new FilteredImageSource(readImage.getSource(), imgfilter)); | ||||||||
|
投稿日時: 2005-04-08 00:28
unibon です。こんにちわ。
おお、こんな便利なクラスがあるのですね。動作原理は私には良く分かりませんが、でも動かしてみると、1/4ほどの縮小(面積で1/16ほど)でも確かにキレイな画像です。勉強になりました。 |
«前のページへ
1|2|3