梅雨も後半戦に入ったのか、それなりの雨降りが続いて出かけるのが億劫になる今日この頃、しばらくほってあったOLYMPUS AIR A01のプログラミングをやってみた。
※ 「OLYMPUS AIR A01のサンプルプログラム」から題名を変更しました。
AIR A01用のアプリを作るための開発キットとして、 “CAMERA KIT FOR DEVELOPERS”(https://opc.olympus-imaging.com/tools/sdk/)というのが公開されており、その中にスマホからA01を使って撮影するためのサンプルも入っている。プログラミングといっても、サンプルを動かし若干手を加える程度のことである。
今はAndroidのスマホ(Nexus5)を使っているので、googleが提供しているAndroid StudioというIDEを使うことにした。Android Studioのダウンロードと導入、撮影用サンプルである ImageCaptureSample のビルドといったことを右往左往しながら行ったところ、3時間ほどでスマホに転送した実行モジュール(APK)が動いてくれた。カメラ、レンズ、PCを除けばタダでプログラムが動かせるわけで、いい世の中になったものである。
スマホに転送したサンプルプログラム(ImageCaptureSample)を動かすとこんな画面がまず表示され、その後すぐにライブビュー画面が表示されるようになる。ただ、ImageCaptureSampleを開始する時点で、すでにAIR A01とスマホ間の通信が確立している必要がある。今回は、OACentralという親玉のようなアプリで接続を行った後で、サンプルを起こすようにした。
ライブビューでAFロックした状態。右側の大きな白丸がシャッターボタン、ライブビュー上側が撮影パラメータ(変更可能)、左下が撮影可能枚数とバッテリ状態の表示になっている。AFロックするとフォーカスエリアに緑色の枠が表示される。こういった面倒なUI作りが済んでいるので助かる。
AIR A01には、M.Zuiko Digital 45mm F1.8を着けた。撮影する対象として、学生のときに使っていたPENTAX MXという懐かしの一眼レフカメラを置いている。
絞りオートブラケット
サンプルが動いて喜んでいるわけにもいかないので、自分にとって役立ちそうな機能として、絞りブラケットを実装してみた。具体的には、絞り優先AE(Aモード)において、絞り値を順次変えながら自動的に撮影を繰り返させる。カメラ側が指定絞り値に応じてシャッター速度を変えてくれるので、同一被写体を被写界深度を変えながら撮影する機能と言える(ISOは固定して撮影)。
絞りオートブラケットはOM-Dにあったらいいな、と思う機能の一つなのだが、露出補正ブラケットでさえシャッターを3回、5回と押させるカメラなので、望んでもムダかもしれない。AIR A01ならば、あったらいいなと思う機能を同じM.Zuiko Digitalレンズで実現できるかも、と思って購入したわけである。
露出ブラケットを実装したサンプルプログラム ( capture1という名前にした) の動作を示す動画。
capture1のアイコンをタップするとOPCのロゴ画面が表示され、すぐにライブビュー表示になる。ここで被写体のMX という文字にAFさせ、シャッターボタンをタップしている。
タップするとすぐに撮影動作を開始し、A01のLEDインジケータが点滅する。点滅が終わるとライブビュー上部の絞り値が1/3EV変化し次の撮影の点滅が始まる…を繰り返す。開放(f/1.8)から最小絞り(f/22)までの23枚撮影すると終了し、最初の状態に戻る(動画では省略しているが)。
今回の改造規模はおよそ20行程度だったが資料や情報が少なくて数時間を費やしてしまった。ビルドしたAPKの公開は予定していないが、プログラムの内容については、そのうち載せることがあるかもしれない。
おそらく、同じやり方で露出補正オートブラケットも可能だろう。ただ、一番実装したい機能である、ピント面を変更しながらの連続撮影については、まだ見当がつかない。AFポイントならば動かせるのだが、ピント面の移動方法が分からない(存在しない?)のである。
撮影結果
A01側の撮影結果をいくつか載せておく。いずれもクリックするといくらか大きく表示されます。
f/1.8では三角頭のASAHIの文字もボケているが、f/4ならばはっきり読める。レンズ前面の表記はf/8ならば読めるくらいだろうか。さすがにf/22まで絞るとレンズ表記も距離指標もはっきり読める。ただ、ボディの革張りや上部のメタリックな部分の質感が劣ってしまう。場所の関係で載せていないが、f/16での撮影結果も案外よくて、AIR A01ではf/11より絞ってもいいんじゃないかな、という感触を得た。