パノラマカム -Qcam OrbitでパノラマWebカムを作ろう-
作成日:2006/7/14 最終更新日: 2006/7/14



◆概要

パノラマカムは,首振り機能を持つUSBカメラ, Qcam Orbit(by Logicool)を利用して,超広角のパノラマWebカムを実現するソフトウェアです.基本的な動作の流れとしては,以下のようになります.

  1. Qcam Orbitの首振り機能を制御し,複数の画像(横5枚 * 縦3枚)を撮影
  2. 各画像をパノラマ合成する際の配置を決定(初回のみ)
  3. 各画像を連結してパノラマ画像を作成
  4. パノラマ画像をSCP経由でサーバーにアップロード
  5. (保存期間が過ぎた画像をSSH経由で削除)

ここでは,パノラマカムを使うための準備や,基本的な使い方について紹介します. 技術的な詳細については,こちらも参考にしてください.

図1: パノラマカムのスクリーンショット

図2: パノラマカムの撮影例
(アキバカムより)




◆QCam Orbit

Logicool社のQCam Orbitは,実売15000円程度と比較的安価ながら,水平/垂直方向の首振り機能を備えた30万画素のUSBカメラです.稼動域は水平方向で約189度,垂直方向で約102度となっています.

Qcam Orbitの制御用のAPIIはLogicool社からは公開されていないため,ここでは,アイコンプソフトウェアにより製作された首振り機能制御用ドライバを利用しています.詳細は,パノラマカムを使う準備を参考にしてください.

※現時点では,現行機種のQcam Orbit MPには対応していません.

図3: Qcam Orbitの外観




◆パノラマカムを使う準備

パノラマカムを実行するためには,以下のようなソフトウェアが必要となります.

  1. PanoramaCam.zip
    • パノラマカムの本体です.ソースコード(PanoramaCamSource.zip)もダウンロード可能です.
    • 2〜5のソフトウェアをインストール後,PanoramaCam.exeをダブルクリックしてください.


  2. Qcam Orbit首振り機能制御プログラム
    • アイコンプソフトウェアにより製作された,Qcam Orbitの首振り機能を比較的手軽に制御できるドライバです.
    • Qcam OrbitをUSBポートを接続していない状態で,「Installer.exeを起動→インストールを選択→処理実行」すればよいようです.
    • 詳細については添付ドキュメントを参考にしてください.
    • ※残念ながら,現行機種のQcam Orbit MPには対応していません.
  3. Enblend
    • Andrew Mihal 氏により作成された,継ぎ目の目立たないパノラマ画像を作成するソフトウェアです.
    • ダウンロード後,Enblend.exeをPanoramaCam.exeと同じディレクトリに配置してください.
  4. .Net Framework2.0
  5. DirectX9.0
    • パラノラマカムは,USBカメラからの画像撮り込みにDirectShowを利用しているため,DirectX8.1以上をあらかじめインストールしておく必要があります.

※パノラマカム本体は,個人・研究用途に自由に使っていただいて結構です.完全に無保証です.感想・要望などは下記メールアドレスまでご連絡ください. (その他のソフトウェアについてはそれぞれのライセンスに従ってください.)




◆ パノラマカムの使い方
それでは,パノラマカムの初期設定と使い方について,簡単に説明します.
◆画像の配置調整

1. 画像のテスト撮影

  • Qcam Orbitを撮影場所に設置し,「撮影開始」をクリックします.
  • 画面下部のプレビュー画面に15枚(5枚*3列)の画像が表示されたら,「撮影停止」をクリックします.
2. 配置調整ウインドウを開く
  • 画面下部の「配置調整」ボタンをクリックし,配置調整用ウインドウを開きます.
3.画像の配置調整
  • 各画像をマウスでドラッグして,画像の配置調整を行います.
    • 配置完了後,「確定」ボタンをクリックすると,画像の配置が更新されます.(更新には10秒程度かかります.)
    • 「キャンセル」ボタンをクリックすると,画像の配置を更新せずに終了します.
◆ネットワーク関連の設定
1.ネットワーク設定ウインドウを開く.
  • 右側のアップロード先の「追加」ボタンをクリックして,ネットワーク設定ウインドウを開きます.
    • 一度追加した設定を変更する場合は,「編集」ボタンをクリックします.
    • 設定を削除する場合は,「削除」ボタンをクリックします.
2.ネットワーク設定を行う.
  • 作成したパノラマ画像をアップロードするためのネットワーク設定を行います.アップロード先への表示名,接続先のホスト,ファイルをアップロードするフォルダ,およびユーザ名とパスワードを登録します.
    • パスワードは空欄でもかまいません.(パノラマカムの撮影開始時にパスワード入力を促されます.)
    • ※パスワードは暗号化せずに保存されます.(「パスワードの保存」をチェックしない限り,保存されません.)
    • なお,アップロードは,SCPを用いて行われます.
  • 「設定」ボタンをクリックすると,ネットワーク設定を完了し,設定をファイルに保存します.
  • 「キャンセル」ボタンをクリックすると,設定を反映せずに終了します.
◆その他の設定
1. 撮影間隔の設定
  • パノラマ画像の撮影間隔を設定します.
  • 撮影間隔は,1,5,10,15,30,60分から選択できます.
2. 保存期間の設定
  • ローカルに保存/アップロードしたファイルの保存期間を設定します.
  • 保存期間は,1日,1週間,1ヶ月,1年,無期限から選択できます.
    • なお,アップロードしたファイルは,SSH経由でrmコマンドを送信することで,削除を試みます.
3. サムネイル比率の設定
  • 作成されるパノラマ画像のサムネイルのサイズをパーセンテージで指定します.
4. タイトルの設定
  • パノラマカムのタイトルを設定します.
  • 設定は,撮影開始時に作成/アップロードされる設定ファイル(setting_webcam.txt)に反映されます.
  • 特に利用しない場合は,初期設定のままでかまいません.
◆撮影開始
  • 上記の初期設定が完了したら,画面左上の「撮影開始」ボタンをクリックします.
    • パスワードを保存していない場合,パスワード入力を促すダイアログが表示されます.
    • パスワード入力後,OKボタンを押してください.

ユーザの行う必要がある操作はこれだけです. 技術的な詳細については,こちらも参考にしてください.




◆参考URL
  • アキバカム
    パノラマカムを用いて秋葉原の風景を定点撮影したWebカムです.スライダーで過去の画像をなめらかに参照できます.
  • USBカメラをC#で使おう
    C#からDirectShowを用いてUSBカメラを制御する方法について紹介しています.パノラマカムも同様の方式で画像をキャプチャしています.
  • Qcam Orbit首振り機能制御プログラム
    アイコンプソフトウェアにより製作された,Qcam Orbitの首振り機能を比較的手軽に制御できるドライバです.
  • Enblend
    Andrew Mihal 氏により作成された,継ぎ目の目立たないパノラマ画像を作成するソフトウェアです.


[俄プログラマー心得]