hirax.net::Keywords::「スクリーン」のブログ



1998-11-17[n年前へ]

スクリーンセーバーを作ろう。 

FilmStrip

(1998.11.17)

 今回はスクリーンセーバーを作りたい。 指定ディレクトリに画像ファイルを入れておけば、それらの画像ファイルを自動再生するスクリーンセーバーである。ただ再生するだけではつまらないので、35mmのポジフィルム風に再生するものにした。フィルムはコダック コダクロームである。独特の濁った色会いが、好きなのだ。

 プログラムの土台にはC++BuilderのCDに付属のスクリーンセーバーのサンプルを使用している。

 今回のテスト版は192x128のランドスケープのKodak PhotoCDの小サイズを基本としている。つまり、35mmフィルムのランドスケープの縦横比である。その他のサイズの画像でも自動的にフィッティングするようにはしてあるが、縦横比が合っていないと、変な風になってしまうから注意が必要である。また、今回はwindowsBitmapファイルにしか対応していないが、いずれ、任意の画像ファイルに対応させる予定である。

 まずは、以下をダウンロードし、filmstrip.lzhを解凍したFilmStrip.scrをシステムディレクトリ(通常、Windows95,98であればWindowsディレクトリの下)に入れ、「サンプル画像ファイル(Image.lzh)」を解凍したものを、C:\のすぐ下に置く。あとは、これでスクリーンセーバーが使えるようになる。とはいっても、WindowsNT4.0でしか動作確認はしていない。

左が実行中の画面、右がその拡大図。実行時にはフィルムが次々と進んでいく。

 設定画面はこのようになる。現在は「撮影間隔」のスピード調整しかできないが、いずれ「モノクロ変換」、「セピア変換」、「ソフトフォーカス」などの画像処理もかけてみたい。モノクロにする時にはフィルムはもちろんネオパンプレストだ。

左が画面のプロパティでFilStripを選択したところ、右がFilmStripの設定画面

 フィルムストリップ形式にすると、映画を連想する人も多いかもしれない。今日は、淀川長治の映画解説の最後の日である。

1998-11-18[n年前へ]

スクリーンセーバー用の画像ファイルを作ろう。 

Canon in HongKong 1998

 以前、作成した「FilmStrip」用の「画像ファイル集」を作った。テーマは- Canon in Hongkong 1998 - である。何故、Canonかというと深い意味はない。

 ダウンロード 「FilmStrip」用の「画像ファイル集」- Canon in Hongkong 1998 - (Copyright Jun Hirabayashi)

 上からダウンロードしたファイルを解凍し、できた"bmp"ディレクトリを"C:\image"ディレクトリの下に置く。つまり、"C:\image\bmp"という形になる。そうすると、「FilmStrip」から使えるようになる。今回のテーマを使うと、実行中の画面は下の図のようになる。

今回の画像ファイル集を使った時の「スクリーンセーバー - FilmStrip- 」 実行中の画面

 このように、テーマを統一した画像ファイル集を使うのが、「FilmStrip」の作者としてのお勧めである。今回の画像の共通点と言えば、

  • Canon
  • 原色
である。なお、撮影には全て富士写真フィルムのデジタルカメラ FinePix700を使用している。FinePix700は画質はなかなかいいが、起動時間が長いので、スナップカメラとしてはまず使えないと思う。
 今回のテーマの色合いは35mmリバーサルであれば、エクタクロームかベルビアといった所だろう。FinePix700のようなフィルム会社が出しているデジタルカメラの色特性(色再現性ではない)には非常に興味がある。コピー機メーカーと(オリジナルとしての)フィルムメーカーが出すデジタルカメラの色特性はもしかしたら違う傾向にあるかもしれない。コダックの出すフィルムが黄色(会社のイメージカラー)を強調し、富士写真フィルムのフィルムが緑(会社のイメージカラー)を強調していた、というのは本当かどうかはしらないが有名な話だ。そのような意図的な色特性があれば、それは個性として面白い。しかし、コピー機メーカーにはそのようなオリジナリティな発想はないかもしれない。いつか、それについても考えてみたい。

画像ファイルの一覧
NOW PRINTING

1999-02-27[n年前へ]

画像ノイズ解析について考える 

考える理由

 画像ノイズ解析を目的として、2次元フーリエ変換を用いて周波数解析をすることが多い。かねがね、このやり方について疑問を感じていたので少し考えてみたい。

 その疑問とは次のようなことである。

  • 通常の2D-FTでは、入力データ全領域での周波数解析を行う。従って、単発のパルスのようなノイズはバックグラウンドに埋もれてしまい、結果にはなかなか出てこない。
  • 同じ理由で、2D-FTでは位置と周波数解析を同時に行うことができない。(もちろん、短時間フーリエ関数を使えば、そのような測定は行うことができる。)
  • また、ホワイトノイズのようなフラットな周波数特性を持つノイズもバックグラウンドを押し上げるだけの効果しか持たないため、解析をしづらい。
 そこで、今回は単純な画像に対して、2D-FTと2D-離散Waveletの比較を行うことで、2D-FTを用いた「画像ノイズ解析」の問題について考える。

2D-FTと2D-Waveletの例

 はじめに、2D-FTと2DWaveletの例を挙げる。まずは2D-FTである。
2D-FTの例(左から原画像、2D-FT結果、2D-FT結果の鳥瞰図)
 左の原画像は45度のスクリーン角のラインである。2DFTの結果にはその角度方向にピークがいくつか並んでいる。それぞれのピークの中央からの距離が周波数を示している。それはX,Y方向いずれについても言える。今回の場合はX,Y方向のスクリーンの周期が等しいため、2DFTの結果でも45度方向になっているのである。
このように、2D-FTの結果というのは周波数(X,Y両方向)と振幅がわかる。ここでのスクリーン角のような周期性を持つものの解析にはフーリエ解析というのは極めて有効である。店で見かけるインクジェットプリンターもヘッドの移動による周期ムラが激しいが、このようなムラに対してフーリエ変換を用いた周波数解析を行うのは正当であり、有効だろう。

 それでは、同じ画像に2D-Waveletをかけてみる。2D-Waveletの結果は位置と周波数強度分布情報(ホントは違うのだが)が両方出てくる。位置情報が2次元で周波数強度分布情報が1次元であるから、合わせて3次元である。そのため、表示に一工夫いる。
 第一段階として高周波成分から調べてみる。すぐにこの結果の意味がわかるだろうか?

2D-Wavelet例(左が原画像、右が一段階Waveletをかけた結果)
かなり判りづらい。この右の結果は4つの領域にわかれているが、以下の表のような意味を表している。また、いずれも灰色の部分は強度が弱く、白と黒が強度が強いことを示している。
高周波のX成分高周波成分
低周波成分高周波のY成分
 低周波成分が原画像と同じようであるのがわかると思う。これは2DFTと違い、Waveletでは位置情報もそのまま保持されているからである。次に、この低周波成分に対して、もう一段Waveletをかけるとこうなる。
 右上から左下への対角線上のが周波数成分を示し、これで周波数成分にして3分解できたことになる。右上が一番高周波成分。その左下が次の高周波成分。右下が低周波成分である。
 もう何分割かしてみる
 このようにして、画像内での位置と周波数成分が両方ともわかる。

 なお、フーリエ変換では基底関数としてSinが用いられるが、Wavelet変換では基底関数としていろいろな関数を使うことができる。今回はDaubechiesの4次のものを用いている。下がその形である。

Daubechiesの4次のフィルター

ドットのノイズを解析してみる

 それでは、今回の本題に入る。以下が原画像である。左が「2つの大きなドットからなる」画像であり、右がそれにノイズの加わった「ノイズ」画像である。ここでノイズはホワイトノイズを加えているつもりである。ドットは周期性を持つデータだが、ノイズ自体は周期性を持たない所がミソである。また、ここで言う「ノイズ」とは現実の現象とは何ら関係がない。単なる例えである。
ドット画像(左が原画像、右がノイズを加えた画像)
 まず、この2つの画像に対して、それぞれ2D-FTをかける。
2次元離散フーリエ変換を行った結果
 このグラフではXY軸とも-πからπまでの領域で示している。中央からの距離が周波数を示しており、明るいほどその周波数帯の振幅が大きいことを示している。つまり、任意の周波数帯の強度がわかる。
 右のノイズの加わった画像の2DFTの結果では、広い周波数領域で強度が上がっている。しかし、下の鳥瞰図で示した(私は立体が好きなのだ)方でもわかると思うが、バックグラウンドが持ち上がっているだけである。いずれにせよ、あまり左右の間で違いはない。今回のような64x64の画像ではなく、もっと大きい画像ではその違いははより識別不能になる。
2次元離散フーリエ変換の結果を鳥瞰図で示したもの
 さて、次に2D-Waveletで同じように計算をしてみる。下が計算結果である。どうだろうか、ノイズ(位置も周波数も)が一目で判るようには思えないだろうか?
2D-Waveletによる解析結果(左がノイズ無し、右がノイズ有り)
 今回は、自分の頭を整理するために、ただ2D-wavelet変換をかけてみた。まだまだ話しは続くのである。

1999-05-23[n年前へ]

HooPoディスプレイの謎 

夢の扉が開かれる

 ビジネスショー'99に行った。そこで、面白いものを見かけたので紹介したいと思う。
まずは、NTTのブースである。下の写真では判りづらいだろうが、色々な画像と文字が立体的に(奥行き情報を持って)すばやく映し出されているのである。


 映像が立体的になった瞬間は「まさかレンチキュラー方式?」などと考えてしまったが、
奥行きに2段階しかないことに気づくと(映像の変化が激しく、気づきにくかったのだ)、謎は解ける。一番置くに大きなディスプレイがあり、その前に半透明のシートがあり、そのシートに対して前方からプロジェクターで前景を映し出しているのである。なかなか面白そうなので、後でじっくり観ることにした。

 次の面白いものは、以下である。HoroProディスプレイという名称である。

ディスプレイが透けているのがわかるだろうか?ITEM-16というのは後ろの壁である。


 一見ただのガラス板である。最初は発光ディスプレイかとびっくりした。しかしこれもタネは前のNTTの場合の前景スクリーンと同じようなものである。下からプロジェクターで映しているのである。しかし、それも良く見なければ判らない。
 アオリの調整などはどうしているのだろうか?そういった機能を内蔵するゾーンプレートのようなものなのだろうか?これは実に面白い活用方法がありそうだ。

NTTもHoloProも簡単なタネを持つ科学おもちゃであり、見ているととても楽しい。どういったタネであるかを考えるのはミステリーを解くようで面白い。

.
.
.


 さて、それでは席をちゃんと確保してNTTのブースを見てみることにしよう。こちらは、キーワードといい、演出といい、実に私好みだった。ラストなど感動してしまった位だ。

「夢の」扉が開かれる。
文字がうすぼんやりと浮かんでいる。



色々な映像が映し出され、カウントダウンが始まる。



始まるといきなり映像に奥行きが生まれる。
前後で映像・文字がすばやく映し出される。


 この瞬間には不思議な立体感が強く感じられるわけである。

ディスプレイとスクリーンの中央が照らされ、そこに人がいたことがわかる。


 ここでも、不思議な立体感は続く。

輝きながら、スクリーンが揚がる。


 この緞帳が揚がる瞬間というのは実に気持ちがいい。コンサートでも舞台でも緞帳というのは現実の世界と架空の世界の間の「扉」である。それを開けるということは、すなわち、架空(今回は夢か)の世界へ入っていくことに他ならない。

ここからメインのプレゼンが始まる
ビジネス、パブリック、ホーム、SOHOといった舞台で様々な人物が登場し、ディスプレイの前後が一体化した寸劇風のプレゼンを行う。
そして彼らは、必ず最後には後ろのディスプレイの中に溶け込んでいく。



 ここでは、一見夢の世界に思えるプレゼンが続くわけである。

プレゼンが終わり、スクリーンが下る。そして、キーワードが前後に映し出される。



 スクリーンが下がる、緞帳が下がるということは、これから「夢」の世界から現実の世界に戻っていくわけだ。

周囲が明るくなり、これまで登場した人物達が
勢ぞろいしていることがわかる。
彼らはビジネス、パブリック、ホーム、SOHOといったものを
代表する人物達である。




登場人物の前後を縦横無尽にこれまで使われた映像、
すなわち、登場人物達を象徴する映像が映し出される。

 これまで登場した人物達は、未だスクリーンの向こう、「夢の扉」の向こうにいるのである。

「夢の扉」を開く原動力、それは...と始まる長い台詞が続く。
エンディングはこうでなくちゃ。
- そして今、「夢の扉」が開かれます -

 もちろん、その瞬間にスクリーンがあがるわけだ。

スクリーンが揚がり、役者が並んでいる。
(絶対、ここは拍手だと思うんだけどなぁ。)

 こういった風景は舞台であれば、単に役者が演じていた者から素に戻り、役者紹介、すなわち架空の世界から現実の世界に戻るだけであるが、今回の場合はそれだけに留まらない。
 「扉」の向こうで演じられていた「夢」がすでにここにある、ということを端的に示しているのである。夢の世界はスクリーンの向こうにあるわけではない、夢の世界はもうここにある-「夢の扉」は開かれた-ことを強く示すものだ。

 最後の「夢の扉を開く原動力、それは..」.の後につづく台詞も結構良かった。役者と製作者達に拍手をしたい。

1999-06-30[n年前へ]

デジカメ画像をスクリーンセーバーにしたい 

記念写真を飾ろう

 最近は、飲み会での撮影はデジカメを使うことも多い。しかし、デジカメで撮った画像というのはそれっきりになってしまうことも多い。特に宴会で撮った画像なんかはどう使ったらいいか困ってしまう。とはいっても、送別会で撮った写真などはなんとかして有効利用したいものである。
 というわけで、デジカメ画像を使えるスクリーンセーバーを作ってみたい。そうすれば、スクラップブック代わりにも使える。しかもとびきりかっこいい奴を作りたい(私の主観を基準として)。

 というわけで、写真アルバム風のスクリーンセーバーを作りたい。つまりは、「スクリーンセーバーを作ろう。- FilmStrip - (1998.11.17) 」の回で作ったスクリーンセーバーを蘇らせてみたのである。まずは、設定ダイアログを見て欲しい。

設定画面

  これを見れば大体わかると思うが、主な変更点はSusieプラグインに対応することにより、さまざまな画像ファイルに対応することができるようになったのと、「テーマ」を複数用意したことである。
 Susie「kanaさんのWEB中のSusie関係のlinkページ」から辿って、対応するSusieプラグインを手に入れてくれば、大抵のデジカメの画像を表示することができるだろう。大抵のデジカメはJPEGファイルなので、JPEG用のプラグインがあれば使えるものも多いと思う。Susieプラグインはシステムディレクトリに入れれば使えるようになる。あるいは、Susieをインストールした所でも良い。
 もし、全くSusieプラグインを入れないと、BMPファイルしか開くことができないので注意が必要である。

 また、画像ファイルの入っているディレクトリは「@マークボタン」を押せば変更することができる。

 それでは、テーマを紹介してみる。まずは、デフォルトの「カラーリバーサルフィルム」テーマである。リバーサルフィルムがモチーフである。これのテーマソングは(別に曲が流れるわけでも何でもないが)「僕のコダクローム」だ。

カラーリバーサルフィルム

 次は、「白黒フィルム(コンタクトプリント)」テーマである。白黒フィルムを現像した後に必ず行うコンタクトプリント(ベタ焼き)がモチーフだ。グレイ化処理を行いながら表示を行う。これのテーマソングは「カメラ!カメラ!カメラ!」だ。

白黒フィルム(コンタクトプリント)

 次は、パーティーションなどにポラロイドを貼っているような「ポラロイドのピンナップ」テーマである。テーマソングは「君は天然色」だ。

ポラロイドのピンナップ

 そして、最後はコルクボードにセピア色になった写真を貼りつける「白黒のピンナップ」テーマだ。セピア処理をしながら表示してくれる。テーマソングは「卒業写真」だ。

白黒のピンナップ

テーマソングを見ると作者の年齢が想像されるが、そうそう年寄りではないつもりだ。と、一応書いておこう。

ダウンロードはこちらだ。ちなみにWindowsNTには未だ対応していない。それは対応させるとデバッグが面倒だからだ。また、

スクリーンセーバー FilmStrip99 (filmstrip99.lzh) 537kB

著作権表示 (必要ない人はパスだ。)

 (デフォルトで画像ディレクトリに指定されている)C:\image\bmpに入れるためのファイルはこちら。先にこちらの画像ファイル群をC:\image\bmpというディレクトリの下に入れてから動かして欲しい。しつこいようだが、C:\image\bmpの下に画像ファイルがいっぱいという状態にするのである。

サンプル画像ファイル(Copyright Jun Hirabayashi)(お気に入りのおすすめ。) image.lzh 805kB222kB

そうでないと、一番最初の起動時にエラーが出るだろう。もし、自分で表示させたいものがあるなら設定ダイアログから変更してしまえば良い。もちろん、完成度は未だ高くないのはいつものことである。それでも悪さはしないはずだ。

 「こんなテーマがあれば良いのに」という意見があればぜひぜひメールを送って頂きたい。あと、動作不良に関しては、(必ずやわらかい口調で)メールして欲しい。どんどん直していくつもりだ(つもり)。
 また、リアルタイムに高機能な画像処理を行うCPU使い放題バージョンも開発中である。こちらもご意見募集中である。



■Powered by yagm.net