忍者ブログ
サブタイトル:「mer2のマイノリティ・レポート(笑)」 --- 最近忍者ブログの仕様が変わったようで、一部の画像が見えなくなってますが、画像のURLコピペで見られます。(どうしよう困ったな) --- ご用件など、ございましたらtwitterまでどうぞ。
[3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



なんかプログラムにメモリリークの気配があるので、ちょっとこの記事封印。

・・・と思ってたら、疑いが晴れたので、封印解除。


  まだ解説すら書いてない状態でなんですが、前記事でアップしたdepth_decode_stereo_01.exeってやつは自分で言うのもなんだが
操作性が悪過ぎ
  という訳で手直ししてみました。それでもまだ操作性は悪いですが、以前よりはかなりマシになってると思います。以後、(手抜き)の部分は今後改善すべき点です。その他にも直すべき点はいっぱいありますが。

ダウンロード

  実行すると、こんなの出てきます。

「display」っていのが鑑賞する画面、その他は操作パネルとメッセージウィンドウ。

  んで、更にひとつだけ画面の右側にこんなの出てきます(手抜き)


  ここの「ADJUST」ボタンを押すと赤い枠が出てきます。これがキャプチャ範囲です。ほんとは実行と同時に出るべきなんだけど、なんか上手くいかないの(手抜き)

  この赤い枠をマウスドラッグするとキャプチャ範囲を移動できます。キャプチャ内容は「display」窓にリアルタイムに反映されます。は最初の挙動が少し変だけど、以後はちゃんとできるから安心してください(手抜き)

  赤い枠の操作方法です。
マウスドラッグ:枠を移動
枠の左上、右下隅をドラッグ:枠の大きさ調整


  てなかんじで、更にキーボードのカーソルキーで微調整ができます。これは枠の中のマウスカーソルの位置によって動作が変わります。
マウスカーソルの位置が左上、右下隅:枠の大きさを1ドットずつ調整
それ以外の位置:枠を1ドットずつ移動


  ついでにキーボードの「A」「S」「D」も併用すると便利です。
「A」「D」:マウスカーソルを枠の左上、右下隅に移動
「S」:マウスカーソルを枠の中央に移動


  こんなふうで調整してくだい。
  ところで、枠の移動とリアルタイムに合わせて「display」も移動して見えますが、実は枠の大きさは「display」に反映されてません(手抜き)枠の大きさは操作パネルの「apply」をクリックで反映されます(手抜き)。「ADJUST」ボタンの窓に直接数値入力で枠の位置・サイズを変更できそうなものですが、できません(手抜き)
  (手抜き)ばかりですね。赤い枠は再度「ADJUST」ボタンを押すと消えます。

  この動画

を再生させて、赤い枠を動画のフレームにこんなふう



に合わせると、なんと
デプスマップ動画がアナグリフで表示されます。

初期状態はアナグリフで表示ですが、
「hIlace1」「hIlace2」:横インターレース(Zalmanモニタとかね)
「vIlace1」「vIlace2」:縦インターレース(ごく一部の人向きね)
表示もできる「はず」です。「はず」っていうのは、私対応モニタ持ってないので。持っている人いらっしゃいましたらお試しください。
  いちおう「display」の表示座標見ているので、ウィンドウを1ドットずつずらしても表示は安定している「はず」です。

  「lenti」は2視点レンチキュラー表示だけど、まあこれはついでです。

  「display」の表示サイズの変更は「InputBox」の
「Width」「Height」
です。だけど入力しただけでは反映されません。これも「apply」をクリックで反映されます(手抜き)

  「InputBox」の「Pitch」はレンチキュラー表示用です。わかる人はわかるよね。

  残りのふたつですが、これがこのプログラムのいちばん面白いところです。
「Parallax」は左右のずらし幅調整です。
「Pos」はスクリーン位置の調整です。値は0~255。

  「Pos」についてはちょっとややこしいので詳しく解説。
  デプスマップ用の白黒画像は白から黒まで256段階の階調があります。この「Pos」の値はデプスマップ画像内の色を直接指定します。このプログラムでは「まっ黒=0」「まっ白=255」としています。するとどうなるかというと、
「Pos」よりデプスの値が小さい(暗い)部分->ひっこむ
「Pos」よりデプスの値が大きい(明るい)部分->とびだす

となる訳です。わかるかな?

「Parallax」と「Pos」の調整で「立体ぐあい」は思いのまま(?)です。例えばこんなふう
  さあ、立体画像で遊んでみよう。残念なのはこの世に存在するデプスマップ動画がほんとうに少ないことですが、まあ、静止画でもできるから。

<クリックで拡大>



  画像提供:某氏。ありがとうございます。
  やっぱデプスマップはぼかすなりして対象より大きめになるようにしたほうがいいみあいですね。なんとかしよう。

  この動画
みたく元画像とデプスの位置が逆な場合は「swap」をクリックしてください。




どうでもいい話:
  今回のキャプチャ範囲指定部分はこのとき
http://z800.blog.shinobi.jp/Entry/732/
に作ったものをそのまま流用してます。
  これは純粋なwindows的なプログラムで、今回のESPLIBなプログラムにそのまま使えるか不安だったんだけど、ESPLIB本体のほうにマージさせたら、ほとんどそのままで動いちゃいました。凄いぜESPLIB。なんでもできるぞESPLIB。
PR


  という訳で、夢の
裸眼多視点立体視Skype
するプログラムです(まだ多視点表示を作ってませんが)。

  ステレオUSBカメラからデプスマップを作って配信する方式です。んで、受け取り側でデプスマップから立体画像を作るっていう仕組み。試してみると、配信と受け取り同時にやると、ステレオ表示でも激重だー!それなりのスペックのPCが必要みたいです。まあ実験ですから(てへっ)。

  デプスマップはあんまり綺麗に出てないけど、やってみるとこれがかなりいい感じに見えます。自分で実験していて「うわー」「ほえー」の連続です。いちおうデプスマップ画像を赤青メガネ・横縦インターレースで見られるプログラム入れときましたので是非どうぞ。

  とりあえずの目標は立体テレビ電話なので、「3Dskype」っていう名前ですが、googleビデオチャットだろうがUstrteamだろうがjustin.tvだろうが使えるはずです。


  なるたけ詳しく解説したいとは思いますが、ややこしくてわかんねというお方は、
に出展しますので、見にきてね。

ダウンロード

 最低限必要なもの:
USBカメラ2台。
  これだけあればお試し可能です。本来ならばこういう事をするには2台のカメラのキャリブレーションを行なってカメラの画像がを調整すべきなのですが、そのへんよくわからなかっったのではしょってます。できる限り2台のカメラが平行状態になるように固定してみてください。それでも結構いけます。お手軽なUSBカメラの固定には輪ゴムとわりばしがお勧めです。


Minoru 3D Webcamことみのる君
でもいけましたのでお持ちの方はどうぞ。

  他に試したカメラはおなじみ
Qcam Pro for Notebooks

コジマデンキの激安USBカメラ
です。ただし激安USBカメラは画質調整がフルオートなため、デプスの質はそこそこです。

解説は続く(はずだ)。

3Dskype_01_320.exe
3Dskype_01_640.exe

これが配信プログラム。実行してカメラがちゃんと認識されるとガメラ画像といっぱいボタンが付いてるパネルがでてきます。訳わかんないでしょ。解説はちょっと待て。

ycaptureフォルダ

  @yacchin1205さんことやざわラボ様作のycapture(わいきゃぷちゃ)を今回の用途向けにビルドしたものが入ってます。

  ycaptureっていうのは簡単に言うと、仮想キャプチャデバイスをお手軽に実装できるようにするプログラムです。
これがああた素晴しいのなんのって、
  3Dskypeはycaptureのおかげでほえっと作れました。感謝の極みに至ります。

  ycaptureがあればHYTEK General Stereo 3D Camera Driverはもはや不要の長物。買おうと思ってる人(いるのか?)はちょっと待て、買っちゃった人はごめんなさい。


depth_decode_stereo_01.exe
画面キャプチャ方式でデプスマップの動画をステレオ再生します。
キャプチャ範囲の指定がわかりづらいと思います。これはなんとかしたいと思いつつ解説はちょっと待て。
とりあえず
この動画
は見られます。
この動画
も「swap」ボタン押すと見られます。でもこれは背景ベタなせいかいまいち。




知ってるかー、うちは
eMagin z800 3D visor
のブログなんだぜー!!

  という訳で、このブログ始めた頃からのz800仲間インパルスさんが作ったガンダムCG動画が大人気だ。



  実はインパルスさんからこの動画のデプスマップデータもらっちゃいまして、はい、
とりあえずステレオ対応させてみました。


もちろん多視点もいっちゃうからね!!
(まだ作ってないけど)

   インパルスさんありがとうございます。これからもがんばってねー。


追記:
デプスにぼかしいれらるようにしてみました。
この動画でもいけました。

  っていうか、以前はPhilipsのWOWvxのサイトにデプスマップ動画いっぱいあったんだけど、WOWvxってポシャってしまっていたのね。サイトごと無くなってる。


  レンチキュラーディスプレイ用に変換した画像は、圧縮に非常に弱いんです。なんたってサブビクセルレベルで描画してますから、非可逆な圧縮フォーマットで画像を保存すると、表示が乱れます。具体的に言うと、色ずれが出ます。立体感も、かなり落ちます。

   静止画だったらBMPやPNGで保存すれば表示の乱れ無しに再現できますが、動画の場合は何故か上手くいかないんです。非圧縮AVIとかHuffyuvとかのいわゆる可逆フォーマットを使っても色ずれが出ます。よくわかんないけど、色空間の変換ってやつでなっちゃうみたい。

   なんとかならないもんだろうか考えてみました。色ずれするっていうのはつまりたぶん色が混ざっちゃってる訳だから、動画にする時に色が混ざらないように色の要素を分解して動画にして、再生の時に再構成してやるといいんじゃいかな。

   さあやってみよう、
あらできちゃった。

   「動画にすると表示が乱れる」といえば、一部の廃人な方々ならアナグリフを思い出すかとのではないかと思われます。はい、なんとこの方法、アナグリフでも上手くいきました(あんまり意味ないけど)。という訳で、レンチキュラーディスプレイよりは体験できる人が遥かに多いと思われるアナグリフで解説してみましょう。

プログラム

プログラムの使い方:
   実行すると出てくるおなじみのESPLIBのウィンドウに、BMPとかPNGとかの綺麗な(劣化してない)アナグリフ画像をドロップしてください。いちおうサンプル入れときました(anaglyph.png)。画像が表示されたら、「Start」をクリック。

   こうなります(クリックで原寸大なPNGで表示)。


   「JPEGQality」でJPEGの品質を0~100で設定、「apply」で設定したJPEGの品質で再表示、「break」でさいしょに戻ります。

   何をやってるかはウィンドウのタイトルバーの説明でだいたいわかるでしょ(?)。いちばん上の3つ並んだ画像は左から
元画像
普通にJPEG化
RGBに分解してJPEG化したものを再構成
となっています。

   まん中の普通にJPEG化した画像はゴースト出てますね。右側の色ずれ防止したものはJPEG圧縮の為に画質は劣化してますが、アナグリフ品質はオリジナルと同レベルですね。あら不思議。JPEG品質を落としていっても、画質は落ちるけどアナグリフ品質はキープされています。アナグリフマニアとしては異次元の経験です。おもしろいよ。

   次に動画でテストしてみましょう。簡単にテストしただけなので、静止画動画しかできませんが。
プログラム

   OpenCV使ってますので、実行にはOpenCVのDLLが必要です。こちら
   申し訳ございませんが、こちらはコマンドプロンプトなプログラムになってます。各プログラムのアイコンにファイルをドロップしても動きますが、そうすると「encode_RGB.exe」は結果のファイルを
\Documents and Settings\ユーザー名
のフォルダに作成してしまいます(手抜き)。御注意ください。
   あと、画像のサイズは横幅が4の倍数ドットじゃないとたぶんヤバいです(超手抜き)。

encode_RGB.exe
   画像ファイルを読ませると、その画像を「test.avi」という30fpsで5秒な動画にします。コマンドラインはこうね。
>encode_RGB 画像ファイル
   アナグリフ画像を読ませると、そのままアナグリフ動画になります。これがいわゆる普通のアナグリフ動画。あら汚ない。
   RGB_test.exeは、実行すると上から2段目の画像を「RGB.png」のファイル名で保存しています。このファイルを読ませてみましょう。

decode_RGB.exe
   encode_RGB.exeで作った動画ファイルを読ませると、色ずれ防止な動画再生をします。上の続きでいくと、
>encode_RGB test.avi
です。
おお!ゴーストが出ない!!

   ってな訳なんですが、はっきし言ってこの方法はアナグリフではあんまり意味が無いです。サイドバイサイドな動画をステレオ対応プレーヤーでアナグリフ再生するほうが楽だもん。ところがどっこいレンチキュラー動画ではかなり使えそうです。

   レンチキュラー動画でリアルタイム変換で動画を出すと、視点数を増やすほど負荷が上がりますが、この方法なら視点数に関わらず負荷は一定です。再生動画の横幅が3倍になりますが。使えるかな、わくわく。

   レンチキュラー画像の場合も、上のアナグリフ画像と同じ方法で実験できます。レンチキュラーディスプレイできる人はやってみよう。ブロックノイズまで多視点になっておもしろいぞ。


   他にもこういったケースがあるのどうかは知りませんが、動画化した時の色再現に不満がある場合はこの方法は使えるかもしれません。そんなケース、あるのかしら。


ついったやろうぜ
ブログ内検索
検索エンジンから来た人、思った結果が出なかったら再検索してちょ。
最新コメント
[08/27 BernardSr]
[08/27 BernardSr]
[08/27 BernardSr]
[12/29 GroverIcow]
[12/26 gayenKinesl]
[12/25 gayenKincfv]
[12/25 geRoesonokp]
[12/24 geRoesonmxu]
[06/30 LindsayDom]
[06/24 Ayukupim]
[06/22 francinerj2]
[06/21 Karsewis]
[06/17 Porsulik]
[06/16 Porsulik]
[06/16 Porsulik]
[06/16 Amimior]
[06/15 WilfordMof]
[06/11 lakeishatb1]
[06/04 Mathewlomi]
[05/31 tiopomWarriorvrp]
[05/31 Lasdumor]
[05/29 Aredorer]
[05/27 IMPUCKICT]
[05/26 Asosans]
[05/24 RaymondZice]
アクセス解析
カウンター
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
プロフィール
HN:
mer2
性別:
男性
趣味:
野良猫の餌付け
Powered by ニンジャブログ  Designed by 穂高
Copyright © PCで立体視してみるぶろぐ All Rights Reserved
忍者ブログ / [PR]