コンピュータによるカメラのリモート制御を可能とするgPhotoGadget Hacks(2/2 ページ)

» 2008年06月10日 17時00分 公開
[Nathan-Willis,Open Tech Press]
SourceForge.JP Magazine
前のページへ 1|2       

写真撮影用の基本コマンド

 --capture-imageはシャッターを切るためのコマンドであり要するにカメラのシャッターを人間が直接押し下げるなり、無線ないし有線式のリモートレリーズを介した撮影を行うのと同じ操作を実行するものである。ただしこの場合、シャッター速度、絞り、オートフォーカス、解像度といった撮影用の諸設定はカメラ側の指定値がそのまま適用されるようになっている。よって当該コマンドを用いてgphoto2にシャッターを押させる際には、事前にこれらの諸設定を撮影に適した値に合わせておかなくてはならない。また--capture-imageで撮影された写真の格納先は通常の撮影時と同様にカメラの内蔵メモリないしはメモリカードとされるので、このコマンドを使用するメリットは、PC側からの信号送信でカメラのシャッターを切れるというただ一点に尽きることになる。

 ただしこの--capture-imageコマンドに関しては、引数指定による若干の動作制御を施すことができる。その1つ--intervalおよびその省略形である-Iは、カメラの撮影間隔を指定するための引数である。そしてこの-I引数には、当該コマンド実行時の撮影フレーム数を指定する--framesないし-Fを併用することもできる。なお-F指定を省略した場合gphoto2による写真撮影は、ここでの指定間隔による撮影データでカメラのメモリが満杯になるまで繰り返し実行される。

 一部のgphoto2ユーザーからは、--capture-imageコマンドで指定した撮影の終了後もgphoto2からのコマンド送信が停止されないというバグが報告されている。最新のgphoto2では既にこの問題についての修正が施されているが、このアップデートを取り込んでいないディストリビューションの場合は、最新版のソースコードを入手して自力でビルドを実行する必要がある。そうした手間を厭うのであれば、この問題に遭遇した場合、Ctrl-Cのキーボード操作によってgphoto2を安全に中断すればいい。

 こうした--capture-imageとは対照的に--capture-previewは、撮影した写真をカメラ側のメモリに保持することなく直接PCにダウンロードするコマンドである。つまりこのコマンドの場合、-Fと-Iの引数指定を併用したインターバル撮影が、カメラ側のメモリ容量に制限されることなく連続実行できるのだ。

より高度な使用法

 先に見た--capture-imageコマンドで行えるのは、現状の設定を何も変更せずに単にシャッターを切るという操作だけだが、多くのカメラでは--set-configに引数を指定することで、絞り、シャッター速度、ISOなどの設定が変更できるようになっている。各自の所有するカメラにおいて、実際にgphoto2がどのパラメータ変更を行えるかを確認するには、「gphoto2 --list-config」というコマンドを実行すればいい。また各パラメータにおける現在の設定値については、「gphoto2 --get-config attribute」で確認できる。なおこのコマンドにより返されるのは現在の設定値だけでなく当該パラメータにて指定可能なすべての値の一覧も出力されるようになっており、高機能なカメラ(ないし交換レンズを用いた場合)の絞り設定のように覚えきれないほどの細かな設定ができるパラメータを操作する場合、こうした情報は特に重宝することになる。なお指定値への変更は「gphoto2 --set-config attribute value」にて行えばいい。

 こうしたコマンドラインでの操作が不便だと感じるのであれば、「gphoto2--config」で呼び出すメニュー操作型のインタフェースによって同等の設定をインタラクティブに施すこともできる。もっとも後者の方式もncursesを用いてテキストオンリーで表示されるインタフェースにすぎないのだが、多数の値を変更する場合にはgetやsetなどのコマンドを打ち込むよりも遥かに便利である。

 最後に紹介する--hook-scriptオプションは、非常に多様な可能性を秘めている。つまり--hook-script=/path/to/some/script.shという指定を--capture-imageコマンドの末尾に追加しておくと、gphoto2は当該コマンドの実行終了後に指定されたシェルスクリプトを実行するようになる。このオプションについては、例えば画像ディレクトリのrsync処理や電子メールによるユーザーへのメッセージ送信など、あらゆる操作への応用が考えられる。

 コマンドラインで操作可能なgphoto2がこうしたスクリプト実行機能を有したことは、写真撮影という操作の完全自動化が行えることを示唆している。あるいはそれ以前に、カメラにケーブル接続されたコンピュータを介して何枚かのフレーム撮影がリモートで実行可能となったこと自体が、非常に意味ある出来事だと評しておくべきかもしれない。例えばカメラに与える振動を最小限化しながら長時間の露光ができるのはもとより、人間が姿をさらせば驚いて逃げてしまうであろう野鳥のクローズアップ撮影などもある程度離れた位置から操作できるのだ。それよりも興味をかき立てられるのは、何らかのハードウェアないしソフトウェア的な仕掛けを用意することにより、特定のイベントを検出させる形でgphoto2によって無人の写真撮影を行わせるという使い方であろう。

 とは言うものの寡聞にしてわたしは、gphoto2のスクリプト実行機能をカメラリモート制御の分野において実際に役立てたという応用例を耳にしたことがない。そうした事例をご存じの方、特にそうした操作を自分で実際に行ったという方がおられたら、ぜひともその詳細をお知らせ頂きたい。そうした報告が入るまでは、どこからか長めのUSBケーブルを調達して、カメラのリモート制御を各種試してみることにしよう。

前のページへ 1|2       

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ