Flashでハイブリッドイメージ

何日か前に、はてなでハイブリッドイメージが話題になっていたみたいです。
僕も数年前にJavaで作った記憶があり、懐かしさも覚えつつも今回はFlashで。
例によってマリリンシュタイン。


>> Demo
 (ハイパス/ローパスフィルタの半径をスライダーで変更可能)

今回のデモではアインシュタインの方にローパスフィルタを、
マリリンモンローの方にハイパスフィルタをかけています。

近視の人だとマリリンモンローはほとんど見えないはずです。
ただ、はてブの例ほど良い画像を組み合わせていないので、
近くで見てもアインシュタインが普通に浮かんで見えてしまいますが;;

2年前にASでFFTの処理は一度書いていたので、あまりすることがなかったです。
入力画像にハイパス/ローパスフィルタをかけてから足すだけ。
元論文ではガウシアンフィルタを併用しているようなのでそれもついでにかけておきます。
(FFTについては2年前のものを改修して高速化)

wonderfl にも投稿しようかと思ったんですが、既にやっておられる方がいました。
(合成方法が論文とは違う独自の方法? みたいですが、ちょっとわかりません;)
遠くから見ると別画像(Hybrid Image) – wonderfl build flash online

それにしても人間の視覚っておもしろいですねー

・関連記事
論文: OlivaTorralb_Hybrid_Siggraph06.pdf
画像信号処理 – Flex

・HybridImage.mxml (メインビュー)

・ViewHelper.as (ヘルパークラス)
※ debert さんのBulkLoaderクラスを使用させていただいています。感謝!

・Generator.as (ハイブリッドイメージ合成用)

・FFT.as (高速フーリエ変換 改修版)

あわせて読む:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です