2013-06-20[n年前へ]
■「たった3行で書けた」もの…「それ全然ガウシアンフィルタじゃないです」
「たった3行で書ける、iPhoneでお手軽ガウシアンフィルタ」という記事を読みました。
特別なライブラリやカテゴリを使わなくても、iOS標準のフレームワークだけで、超簡単にガウシアンフィルタ(ぼかし効果)をかけるテクニックを紹介します。…記事を眺めながら、違和感を2つ感じます。
たった3行で書ける、iPhoneでお手軽ガウシアンフィルタ(iPhoneアプリ開発トピックス)
まず1番目の違和感は、記事中に貼り付けられているボカし画像(たとえば右に貼り付けた画像)が、「どう見てもガウシアンフィルタじゃない」ということです。「滑らか」じゃなくて、近傍線形補間特有のテクスチャが自己主張激しく現れています。
そして2番目の違和感は、「画面上で拡大補完をするという状況でガウシアンフィルタを掛けたのと同等のことを実現するようなコードなんて(ライブラリを実装するのに)書かないよね、書けないよね。…計算量と効果を考えれば開発者には当たり前の話だけど…」というものです。
というわけで、記事に貼り付けられていた「ガウシアンフィルタ(ぼかし)」画像のRed・Greenチャンネルの数値を、3次元グラフにしてみました。それが下の2枚のグラフです。
こうしてみれば、この画像には「ガウシアンフィルタを掛けたような滑らかさ」なんてなくて、見事なまでに近隣4画素からの線形補間がされた画像であることが見てとれます(ガウシアンフィルタはNxNでも計算コストが2Nで済む…とはいえ近傍4点線形補間に比べれば多いですから、”開発者”からすれば当たり前のことだと思いますが…)。