引き続き、下記機能を実現するアプリを設計していきます。
Libre Calcで以下の機能を実現するにあたり、やってみないとわからないことが多々あります。
まずは、実現に必要な機能をひとつづつ用意していこうと思います。
■ 機能リスト
まずは、プログラム作成に入る前に撮影開始~終了までの流れを以下のように考えました。
今回の環境は、Windows限定にしようと考えています。(使用環境がWindowsなので)
朝に自動起動して、終業時間までモニタリングするようにしたいと考えています。
モニタリング中に何かしら気になることがあれば、手動(できれば自動)で撮影するようにしたいと思います。
あと、使用するカメラは、RICOH THETA、WEBカメラを想定しています。
魚眼撮影以外に普通の画像もしたいのと、仕組み自体は同じなので、やらない理由はないです。
上記流れから、マクロを組む上で課題になりそうな部分は、以下の点であると考えました。
- 「ライブビュー表示」「静止画撮影」
Libre Calc自体には、カメラ画像のライブビュー機能はないので外部モジュールの力を借りる必要があります。私は、Python&OpenCVの力を借りようと思っています。 - 「画像をシートに追加」
画像をシート上でうまく管理する仕組み(マクロ上)を考える必要があります。
Libreのマクロは、ネットを探しても有用な情報が少ないので、少し試行錯誤が必要そうです。 - 「古い画像の削除」
2と同様に面倒そうです。 - 「自動OFF」
Libreを少し調べたところ、Excelのように指定時刻にマクロを実行するような機能がありませんでした。(調査不足かもしれませんが、見当たらなかった)
なので、少し無理があり制約が発生するかもしれませんが、マクロの多重制御を行おうと考えています。
その他、THETA マウントの制御等にユーティリティ的なツールが必要になるかと思いますが、こちらは本筋ではないので記載していません。
本筋が片付いたところで、順次用意しようと思います。
■ 画面イメージ
画面は凝ったものは作る気はないので、Libreのシートで作るつもりです。
イメージ的には、「撮影画像」シートと「設定」シートと用意していこうと思います。
まだ、項目等は定まってはいませんが、下記のような感じを考えています。
〇 「撮影画像」シートイメージ
撮影時に、日付/イベント(撮影要因)/画像を下記のように自動整列して追加します。
一定期間を過ぎた古い画像は、自動的に削除するようにします。
右上のボタンは、まだ何も考えてはいませんが、手動撮影等のボタンを並べる予定です。
起動したら、普段は最小化して邪魔にならないようにしておくつもりです。
〇 「設定」シートイメージ
プログラム制御に必要な接続設定、撮影設定を行うシートです。
それ以外にPythonでライブビューを用意するつもりですので、マクロ間の通信/デバッグ用にも使用します。
■ 次週
今回列挙した課題をただいまテスト中です。
課題解決方法が出そろったところで、ソフトの組み立てを行う予定です。
もうしばらく進捗が滞るかもしれないですが、またよかったらのぞいていただけると嬉しいです。