2009-04-14
■[ruby][画像処理]Lanczos拡縮アルゴリズムの実装
原理
・ニアレストネイバー
・バイリニア
・Lanczos-2
・Lanczos-3
この中で理論上最も美しいとされているのはLanczos-3であり、漢はだまってこの方法を選ぶべきなのですが、いくつかの実装では正確な計算がされておらず、もったいない事になっています。
なので今回はできるだけ正確な高品質な画像を目指して実装してみました。
rubyで。
原理的なものはコチラが詳しいです。こんなブログを見るよりお勧め
楽天が運営するポータルサイト : 【インフォシーク】Infoseek
前提
画像のピクセルデータを取得しないといけないのだが、画像のデコードは別の話なので、また今度にします。
今回は無圧縮のPPM形式を使用。
そしてPPM画像を得るためにImageMagickを使った。
convert test.jpg test.ppm
実装
そして拡大縮小するコードがコチラ
※このコードは手続きをダラダラ書いただけな上に、とてつもなく遅いので実用性は皆無です。
出力画像
対象はコチラ
40%の縮小結果がコレ
綺麗ですよねー?
最後に
遅すぎ。rubyでやるもんじゃない。
トラックバック - http://d.hatena.ne.jp/gioext/20090414/1239720615
リンク元
- 214 http://secure.ddo.jp/~kaku/tdiary/
- 128 http://reader.livedoor.com/reader/
- 55 http://gxc.google.com/gwt/n?u=http://pic2ch.giox.org/thread/10725&hl=ja&mrestrict=xhtmlchtml&inlang=ja&client=ms-kddi-jp
- 45 http://pic2ch.giox.org/thread/
- 42 http://www.google.com/reader/view/
- 31 http://www.google.co.jp/reader/view/
- 29 http://pic2ch.giox.org/
- 19 http://www.google.co.jp/reader/view/?hl=ja&tab=wy
- 17 http://www.unoh.net/infoc.html
- 13 http://www.google.co.jp/search?q=Lanczos&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a


