ヒルベルトスキャン – AS3.0


Flashで画像のヒルベルトスキャン。
ヒルベルト曲線順に画素を走査します。
Hilbert Curve – Flex(AS3.0)で書いたスクリプトを画像に適用しました。
基本的にdrawPath()で線を引く代わりに、パスに沿って画像データをコピーするように変更しただけです。

ここではヒルベルトスキャンをFlashで視覚的に示します。

また、特に意味はありませんが別の画像を下敷きにしてみました。
数字キーで次数を指定、’e’キーで毎フレーム次数を変えて実行します。
(次数は0~8まで、日本語入力はOFFに、テンキーは×)

Flashが表示されない場合はこちら→ HilbertScan.swf

8次で画像空間を充填、全ての画素を走査するヒルベルトスキャンになります。
(実際は次数が2のべき乗(2,4,8)でないと正しく走査できないので注意)
毎フレーム適用したものはエフェクトとして使えないこともない(?

このヒルベルトスキャンは画像工学研究に広く利用されています。
‘hilbert scan’ の検索結果 – Google Scholar
展開される一次元データが持つ近傍保存性を利用して画像圧縮などに応用されているようです。
(N次元空間において、ある要素とある要素が隣接しているという情報は一次元に展開しても保存される)

あわせて読む:

コメントを残す

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