Seasons.NET

ちょっとした技術ブログです

平均画素法について

最近、画像処理にはまってます(楽しい意味で)


線形補間、3次補間(バイキュービック)、最近傍法、平均画素法を
実装してみたが、平均画素法は、高速化しがいのあるアルゴリズムだ。


基本は、オリジナル画像とスケール後の画像サイズの最小公倍数をとって、
それぞれのスケール率を求めて、オリジナルのスケール画像から求めたスケール率でサンプリングしていく。
当然最小公倍数が大きければ、サンプリングするための画素情報が多いので綺麗になる。


しかし、W=100の画像をW=99にするとなると最小公倍数が尋常じゃないくらい
でかいので、(9900)計算処理に時間がかかりすぎる。
ってわけで、以下の方法を思いつく。


オリジナル画像に対してスケール画像(この場合縮小のみで考える)
が何倍なのか?を求める。この倍率=サンプリング回数。
とし、サンプリング回数でRGBを割って平均を求め、画素情報とする。
当然この方法だと50%より大きいスケール率では、サンプリング回数が2.0未満になり、画質が悪くなる。


ということで2.0未満の場合は、2倍して、画質を保つようにして、
高速化したら以下のような結果に。
平均画素法
平均画素法 posted by (C)Seasons