2000-02-06[n年前へ]
■パノラマ写真と画像処理 Pt.1
パノラマ写真を実感する
「パノラマ」という言葉は何故か大正ロマンを感じさせる。かつて、流行ったパノラマ館や江戸川乱歩の「パノラマ島奇譚」という言葉がそういったものを連想させるのだろう。私も自分で写真の現像・焼き付けをしていた頃は、フィルム一本まるまる使ってベタ焼きでパノラマ写真を撮るのが好きだった。
そういう癖は持ち歩くカメラが「写るんです」と「デジカメ」へ変化した今でも変わらない。例えば、
の時に撮ったこの写真もそうである。 そしてまた、次に示す写真もそうだ。これは1999年夏頃の早朝に箱根の湖尻で撮影したものである。360度のパノラマを撮影したものだ。
観光に行った先で撮影したと思われるかもしれないが、残念ながら違う。出勤途中に撮影したものである。豊かな自然がありすぎて、涙が出そうである。
パノラマ写真としては、こういう景色を撮ったものも良いが、人が写っているものも良い。私の勤務先がこの大自然の中に移転してくる前、都会の中にあった頃に居室で撮ったパノラマ写真などはとても面白い。窓の向こうにはビルが見えたり、周りに写っている人ですでに退職した人が何人もいたりして、涙無しには見られない。
もちろん、こういった写真はパノラマ写真で楽しむのも良いが、もっと実感できるものに加工しても楽しい。私がかつて都会の居室で撮影したものは、当時はAppleのQuicktimeVRのムービーファイルに変換して遊んでいた。今はもうない居室の中をグリグリ動かすのはホロ哀しいものがあり、とても味わい深かった。
ところで、WEB上でそういうパノラマのVRファイルを見せるにはどうしたら良いだろうか?もちろん、AppleのQuicktimeVRを用いれば良いわけではあるが、プラグインが必要である。私はQuicktimeは好きであるが、ブラウザーのQuicktimeのプラグインは嫌いである。WEBを眺めているときに、「Quicktimeのアップグレードはいかがでしょう?」というダイアログが出ると、少しムッとしてしまう。そこで、Javaを使うことにした。いや、もちろんJavaをサポートしていないブラウザーもたくさんあるが、こちらの方がまだ好きなのである。
そのようなパノラマのVRを実現するJavaアプレットには、例えば
- Panoramania
- http://www.lamatek.com/lamasoft/Panoramic/test.html
- Javaアプレット(パノラマver1.1)
- http://village.infoweb.ne.jp/~fwbc6098/java/panorama/panorama.htm
- TheVRApplet1.0
- http://www.physik.uni-greifswald.de/~jonas/VRApplet/VRApplet.html
- how toinsert the panorama show (java applet) inside your home page ?
- http://persoweb.francenet.fr/~carl/brique/exapano1.htm
さて、ここまでは単なる前振りである。本題は、実はこれから始まる。先日このようなメールを頂いた。
私はWindowsを使っているのですが、AppleのQuicktimeVRに興味があって、QuicktimeVRのパノラマ・ムービーを作っています。しかし、素材となる画像の作成に四苦八苦しております。ご承知の通り、
- ライカ版カメラに24ミリ広角レンズをつけて、
- 三脚にパノラマヘッドをつけて、ぐるりと周囲を12枚撮りして、
- 現像、プリントし、
- スキャニングして、ステッチャソフトでレンダリングし、
- それをMacintosh上でMake-QTVR-Panoramaにドロップして、
- 8ミリビデオに広角レンズを付け、
- 90度横倒しにして、10秒程度で1回転するようにステッピングモーターで駆動するパノラマヘッド(自作)に乗せ、
- 高速シャッター撮影し、
- マックのAV機能で円周12枚の静止画を取り出
- し、
- 8ミリビデオを横倒しにして、
- モーター回転するヘッドでぐるりと360度撮影し、
- その撮影した動画ファイルの、各フレームから走査線にして数本分を抽出し(インターレースで256本のうちセンター128本目の前後数本の走査線分)、
- それを貯めて1枚のjpgファイルにする、
- そのJPEG画像をMakeQTVRPanoramaの入力にして、パノラマムービーを作る、
その場合には、スリットスキャンカメラを入手し、それをカラープリントする設備を準備すればいいのでしょうけど、高価です。
そこで、
長々と分かりにくいことを書きましたが、要は、「マックで動く電子スリットスキャンソフト」をなんとか作っていただけないでしょうか?もし、そのようなソフトがあれば、
まずは、答えを先に書いてしまおう。私が作らなくても、
- NIH-Image (MacOS)
- ScionImagePC (Windows)
- 複数画像(動画)からの走査線抽出
ScionImagePCの動作画面を以下に示す。NIH-Imageとほぼ同じである。
これらのソフトのStack-Slice機能を用いれば「複数画像(動画)からの走査線抽出」ができる。その使用例と、その面白い座標軸変換について考えてみたい。しかし、このページは少々重くなってきた。まして、走査線の抽出の話は使用画像が多くならざるをえない。そこで、次回、詳しく使用例を紹介することにする。よく、次回といったまま数ヶ月経つことがあるが、今回は大丈夫である。少なくとも数日後には登場することと思う(多分)。
あれっ、ここまで書いてからinfoseekで検索すると、
- パノラマ写真のひっみっつっ!
- http://www.imagica.com/nomad/sig98/hitachi/
2000-02-13[n年前へ]
■競馬の写真判定とパノラマ写真
パノラマ写真と画像処理 Part.2
前回 、
の時にi_matさんから頂いたメールを紹介した。i_matさんは- I*MAT The HomePage (http://www.nsknet.or.jp/~i_mat/ )
- atoz@gol.com (http://www2.gol.com/users/atoz/index.html )
さて、前回
これらのソフトのStack-Slice機能を用いれば「複数画像(動画)からの走査線抽出」ができる。その使用例と、その面白い座標軸変換について考えてみたい。と書いた。今回もまた「数日後には登場」と言った割には時間が経っているような気もする。しかし、ここのところ文字通り忙殺されていたのである。と、言い訳をしながら今回この作業をやってみることにした。しかし、このページは少々重くなってきた。まして、走査線の抽出の話は使用画像が多くならざるをえない。そこで、次回、詳しく使用例を紹介することにする。
よく、次回登場と言ったまま数ヶ月経つことがあるが、今回は大丈夫である。少なくとも数日後には登場することと思う(多分)。
まずは、
- 「複数画像(動画)からの走査線抽出」
- 「座標軸変換」
以下に示す連続の画像は競馬のゴール地点に競走馬が到着した瞬間である。「馬に見えない」という人がいたら、それは目がおかしい。誰がなんと言おうとこれは馬である。馬と鹿の区別がつかない人は馬鹿と呼ばれるが、これはとにかく馬なのである。
視野の中に馬がもっと入ってくる。
視野の中に馬がものすごく入ってる。 |
さて、このビデオカメラで撮影された画像は例えば以下のようなものである。
撮影された各時間の画像から、この画像の赤で囲んだところを抽出し、並べたらどのようになるだろうか?
それはこのようになるだろう。よくある競馬の着順判定写真である。
一見、これまで眺めてきたビデオカメラで撮影された画像と同じように見えるが、全く違う。ビデオカメラの撮影画像の動画中における、複数画像間の「位置」は全く変化していない。変化しているのは「時間」だけである。
だから、このような赤い長方形の画像を並べた方向というものは「時間軸」を意味しているのである。それを、下の画像に示してみる。
この画像は縦方向は「空間軸」であるが、横方向は「時間軸」なのである。ビデオカメラの画像が縦横共に「空間軸」を示しているのに対し、その一軸を「空間軸」から「時間軸」に変換したものなのである
この競馬の着順判定写真の場合、カメラは空間に固定され「時間軸に変化するもの」を撮影していた。だから、このように各画像から一部を抽出して並べると、それは「時間軸」に対する変化を示すものを得ることができる。
また、例えば実験条件を変えたときの計測画像に対して「各画像から一部を抽出して並べる」ということをするならば、それは「空間軸」x「実験条件」というものを表す画像を得ることができる。
それでは、時間的には変化しないものを、ビデオカメラで撮影する方向を変化させながら撮影したらどうなるだろうか?例えば、ビデオカメラを下のようにして360度回転させながら撮影をしてみるのである。
この場合撮影画像の各画像は撮影方向角度が異なるわけである。従って、先ほどのように一部分を抽出して並べると、一方向は「空間軸」であり、もう片方の軸は「撮影方向角度」になる。結局当たり前ではあるが、ある位置から眺めた周りの景色が得られるわけだ。
これが、前回i_matさんの要望していた
- 8ミリビデオを横倒しにして、 モーター回転するヘッドでぐるりと360度撮影し、
- その撮影した動画ファイルの、各フレームから走査線にして数本分を抽出し(インターレースで256本のうちセンター128本目の前後数本の走査線分)、
- それを貯めて1枚のjpgファイルにする、
- そのJPEG画像をMakeQTVRPanoramaの入力にして、パノラマムービーを作る、
それでは、その作業を実際にしてみようと思う。i_matさんから送って頂いた動画ファイル
を使い- 動画から静止画に変換し(走査線の狭間-1/60秒の世界を目指せ- (1999.07.08) 参照)、
- Image PC(NIH-imageをWindowsに移植したもの)で、走査線の一部を抽出し並べた静止画を作成する
もういきなり結果を出してしまおう。これが、「動画ファイルから走査線を抽出し、パノラマ写真にしたもの」である。
おや?何が何だかわからない画像になってしまっている。変なモザイクがかかったみたいな画像になっているし、グレイ画像である。参考までに、先ほどの動画から手作業でパノラマ画像を作成したものを以下に示す。上の画像と比較してみると画像の示すものの対応がわかるだろう。
さて、今回の実験結果が
- 変なモザイクがかかったみたいな画像になっている
- グレイ画像である
まず、
- 「グレイ画像」になっている理由
そして、「変なモザイクがかかったみたいな画像になっている」のは(動画中の)各画像から走査線をそれぞれ一本しか抽出しなかったからである。だから、横方向(カメラの撮影方向角度)のデータが足りないのである。そのため、モザイク画像のようになってしまったのである。
本来、抽出する走査線の数は、カメラの回転速度に応じて増やしてやらなければならないわけであるが、それが上手く合っていなかったのである。また、今回の画像を見て頂くと判ると思うが、動画ファイル自体も、実は一秒辺りのフレーム数が間引かれたものとなっている。それにより、抽出する走査線の数が一本ではますます足りなくなってしまっていたのである。
というわけで、今回は「失敗した」と言わざるをえない。何か、前回は「簡単である」などと言い切ったような気もするが、それはきっと気のせいであろう。
やはり、これは適当にあるもので間に合わせ仕事をしようとしたせいかもしれない。いつの日か「mov2panorama.exe」を作成し、必ずや必ずや再挑戦をするつもりである(Macでやるのは少しあきらめモード)。
2000-02-19[n年前へ]
■携帯電話の同時性?
競馬の写真判定とパノラマ写真 その後
先日
を書いてから面白いメールを頂いた。その一部を抜粋すると、小生は超音波を利用した新しい流体場測定を行っていますが、この方法で得られるDataは空間1次元時間1次元の2次元データです。従って得られるのは、このページにあったような画像が直接得られるわけです。とある。この方法といくつかの結果を発表してから、あちこちからコンタクトがありましたが、その中の一つが、NYのSirovichという高名な流体力学者からの手紙でした。彼はいわゆるSnapShotを、逆に小生のデータから構築できないか、というのです。
今このWebでされたことの逆をしたいというわけです。流れの空間構造を解析するために使いたいのです。残念ながらこれは、以下に少々説明するように、原理的に無理な話で断らざるをえませんでした。
つまり、時間軸に速度をかけて空間軸に変換できればよいのですが、流体場はそれ自身が速度分布を持っていますから、一体何を使えば良いのかが定まらない。
電磁波の場合には光速が一定ですから、時間情報から空間情報を得ることができますが、古典流体力学では不可能なのです。工学的には平均流速を使って、時間-空間の変換をしますが、それはインチキとまでは言わないまでも、便宜的なも
のでしかありません。このWEBの中での例では、馬?の速度のみであとは静止しているので、可能でし
ょう。
「馬?」という箇所に、私との意見の相違があるようだ。私が明らかに「馬」であると言い張っているものに疑問を持たれているような気がするのであるが、今回そこは気にしないでおく。
なるほど、音波や電磁波などを使って計測を行い、得られた
- 空間(あるいは量)-時間
- 空間(あるいは量)-空間
- 海の中の魚を探知する「魚群探知機」
- 気象状況を計測する「気象レーダー」
- 固体の中の電荷分布を計測する「電荷分布測定装置」
「魚群探知機」は超音波を水中に発信して、その反射波が刻々と帰ってくる様子から、(超音波の速度を用いて、空間位置に変換した後に)障害物(ここでは魚群)の様子を計測するものである。「気象レーダー」も電波を使って同様に雲の分布などを測定する。
「電荷分布測定装置」の場合は、(例えば外部電界を印加し)電荷を持つ個所を振動させてやり、その振動がセンサー部に刻々と伝わってくる様子から(あぁ、なんて大雑把な説明なんだ)、(固体中の弾性波の速度を用いて、空間位置に変換した後に)固体の中にどのように電荷分布が存在しているかを計測するものである。
と、文章だけでは何なので、WEB上から、それらの計測器を用いた場合の計測例を示してみる。
下が魚群探知機である。リンク先は
である。また、この下は空間電荷測定装置である。これなども、とても面白いものだ。リンク先は
である。 さて、こういうことを、調べてみるだけではしょうがない。自分でもそういう計測をしてみたい。
そこで、次のような実験をしてみようとした。
- 部屋の中に複数の「音の発信源」を配置する。
- 複数の「音の発信源」から同時に音を発する。
- それをPCで収録する。
- 音声が「音の発信源」からPCに到達するまでの時間を解析する
- 複数の「音の発信源」の位置を計測する。
そこで、安易にも時報を使おうかと考えてしまった。しかも、数があって手軽ということで、携帯電話を使おうとしたのである。
しかし、複数の携帯電話を集めて、117に電話して時報を同時に聞いてみると、とても同時どころではない。てんでばらばらなのである。電話のスピーカーから流れてくる時報のタイミングには結構ズレがあるのである。
携帯電話の間には結構同時性がないのだ。また、固定電話とも比較したが、固定電話よりも時報が速いものもあれば、遅いものもあった。
そこで、複数の携帯電話を聞き比べた結果を以下に示してみたい。この写真中で左の携帯電話ほど時報が先に流れており、右になるほど時報が遅れているのである。一番早い左と、一番遅い右では一秒弱の違いがあった。
また、参考までに、家の固定電話と携帯電話の時報を一緒に聞いたサウンドファイルを示しておく。
この携帯電話は先に示した画像の一番左である。つまり、先の携帯電話群では一番時報が早かったものなのである。しかし、家の電話よりは一秒弱遅かった。ということは、家の固定電話と先の一番遅い携帯電話では時報の時間にして2秒弱の違いがあることになる。 そして、「家の固定電話と携帯電話の時報を一緒に聞いた音の変化」をスペクトログラムにしたものを以下に示す。
水平軸が時間軸であり、時間は左から右へ流れている。また、縦軸は音の周波数を示している。ここでは、「1」で示したのが家の固定電話の時報であり、少し遅れて「2」の携帯電話の時報が聞こえているのが見てとれる。
よく時報を確認することはあるが(実は私はほとんどないのだが...)、携帯電話・PHSで時報を聞く限り、秒の精度はそれほどないようである。また、勤務先の固定電話は先の携帯電話群と比べても遅い方であった。それは少し意外な結果であった。
今回調べた「携帯電話の同時性のなさは」は常識なのかもしれないが、電話の時報で時計を合わせるのはあまり精度が出ないやり方であることがわかっただけでもよしとしよう(別に実験を途中で投げ出した言い訳ではないけれど)。
今度、TV(衛星TVなども遅延時間を考慮した時報の放送を行っていると聞くし)やラジオを用いて当初計画していた実験を行おうと思う。その際には、時報がPCに到達する時間のズレで「音の発信源」までの距離を計測し、左右のマイクでの違いを計測することにより、「立体音感シリーズ」のように「音の方向」を得てみたい。
というわけで、話が「立体音感シリーズ」に繋がったところで、今回は終わりにしようと思う。
2002-10-26[n年前へ]
■世界を映す玉手箱
掌の上の不思議な世界
先日、人工衛星から撮影された夜の地球を眺めてみた。そんな夜の地球で輝いている「街の灯」を眺めていると、そんな宝石のような地球を自分の掌の上に載せて眺めてみたくなる。夜の「街の灯」できらめいていたり、人が住んでいるのに真っ暗だったりする、そんな小さな地球を作ってぼんやりと眺めてみたくなる。
そういえば、一年近く前に「小さな掌に未来の地球儀をのせて」でメルカトル図法の地図画像から正二十面体展開図を作成して、小さな正二十面体の地球儀を出力するソフトウェア"Icosahedron"を作ったことがあった。このソフトとプリンターがあれば、色んな地図から掌に載る小さな地球を作ることができる。そして、自分の掌の上で小さな「夜の地球」を眺めてみることができる。
そういうわけで、夜の地球の画像を"Icosahedron"で読み込んで「小さな正二十面体の地球」を作ってみたのだけれど、その作業の途中で"Icosahedron"をいじって、
- うっかりミスのバグ修正(メルカトル→正二十面体展開図変換が間違っていた)
- のりしろ部分をきちんと描くようにした
- ソフトから直接印刷もできるようにした
- Susieプラグインに対応
- Icosahedron (2002.1026) Windows版 429kB(Linux版公開時のお知らせは"いろいろ"の方で…)
ところで、地球を中心にして地球を全周囲から眺めた様子を二次元に投影したものが地図だけれど、その全く逆のことをしたものがある。それはパノラマ写真である。何故なら、パノラマ写真は「世界の何処か一点を中心として、その点から全周囲を眺めた様子を二次元に投影したもの」であるからだ。つまり、「何処かを周囲から写したものが地図」で「何処かから周囲を写したものがパノラマ写真」であるという違いだけで、その二つはほとんど同じものだ。だから、パノラマ写真を元にして、Icosahedronで正二十面体を作ってみても、ちゃんとした世界ができあがる。
例えば、パノラマ写真を元にして、"Icosahedron"で「とても巨大な正二十面体の展開図」を作って、景色が印刷された面を内側にして「人が入れるほどの巨大な正二十面体」を作ってみれば、それは即席のパノラマ上映館となる。そしてまた、逆に景色が印刷された面を内側にして「小さな正二十面体の展開図」を作って組み立ててみれば、それは周囲を全ての景色をまるで鏡のように映し出す不思議な水晶玉のようなものができあがることになる。外に向かって「何処かから見た外側の景色」を映し出す不思議な水晶玉ができあがることになる。
結局のところ、数学的に言えば「巨大なパノラマ館」と「小さな水晶玉」の違いは曲率の符号が反対、というだけである。「巨大なパノラマ館」の場合は曲率がプラスで「世界が閉じて」いて、「小さな水晶玉」の場合は曲率がマイナスで「世界が開いて」いて、そして「正二十面体の展開図」の場合は曲率が0で「世界が平坦」だというだけの違いにすぎない。だから、「巨大なパノラマ館」はその中に向かって「何処かから見た外側の景色」を上映しているけれど、「小さな水晶玉」の場合はその外側に向かって「何処かから見た外側の景色」を上映している、ということになる。「巨大なパノラマ館」を"insideout"にひっくり返してみれば、世界が開かれた「小さな水晶玉」に変身するというだけだ。
以前、「箱根の湖尻から眺めた早朝の世界」をパノラマ写真にしたことがあったが、試しにこのパノラマの景色を映し出す小さな水晶玉を作ってみよう。
上の「箱根の湖尻から眺めた早朝の世界」を閉じこめた「小さな正二十面体」が下の展開図だ。これを組み立てさえすれば、小さな正二十面体の中に「ある場所から眺めた世界」が映し出されることになる。ちょうど、透き通った水晶玉を通して色々な場所からみた景色を眺めるように、この小さな正二十面体を覗けば「箱根の湖尻から眺めた早朝の世界」を眺めることができる。
そしてまた、小さな正二十面体に閉じこめることができる世界はパノラマ写真に限らない。例えば、「自分の周囲を描いた絵画」であっても構わないだろうし、あるいは「自分が描いた何か」であっても良いと思う。そんなものを小さな水晶玉に閉じこめてみれば、その水晶玉は「自分の描いた世界」を外側に向かって映し出し始めるのである。
例えば、エッシャーの「夜と昼」を正二十面体の世界に閉じこめてみたのが、下の展開図だ。これを組み立てれば、エッシャーの描いた世界が、エッシャーの描いた「昼と夜」が小さな正二十面体の中から映し出されることになる。これを組み立てた正二十面体を覗いてみれば、不思議なエッシャーの世界を色んな方向から眺めることができるのである。
こんな風に、色んな画像から色んな「世界を映す玉手箱」を作ってみて、例えば「何処か旅先で撮った写真」や、例えば「誰かと撮った集合写真」や、例えば「自分の描いた落書き」や、色んな何かで小さな正二十面体を作ってみれば、きっと何か世界を写す小さな玉手箱ができあがると思う。その人だけの「その人の世界」を外に向かって映し出す小さな水晶玉ができあがるに違いない。正二十面体に閉じこめられた、だけど外に向かって開かれた、そんな世界を眺めてみるのはきっととても面白いことだろう。
もしも、あなたがそんな小さな正二十面体を作ってみたなら、ぜひぜひその「世界を映した玉手箱」を写した写真を私にも送ってもらえるとうれしいです。そんな小さな世界の展覧会も開いてみたい、ですしね。
2002-10-30[n年前へ]
■掌の上のハワイ・ハナウマ湾
ともゆきさんが撮影したハワイ・ハナウマ湾のパノラマ写真を私が「掌の上の水晶玉の世界」にしてみたもの。「ブルーハワイ」を掌で転がして、水平線の向こうに指を伸ばしてみることができる。あの水平線の向こうには何があるのかな。背伸びをしたら、何かが見えてくるかな?掌の上で転がしてみれば、水平線の向こうはもしかしたら見えてくるのかな?
少なくとも、ハワイの海は見えてくるのだった。(リンク)