camera.processPicture

以前にキャプチャされたがまだ処理されていない画像を処理します。処理に時間がかかるため、このコマンドは delayProcessing をサポートしている場合にのみ該当します。delayProcessing をサポートしていない場合、このコマンドのリクエストはエラーコード enabledCommand となり、失敗します。このコマンドは API レベル 2 で追加されました。

パラメータ

  • previewFileUrls: 未処理画像の URL リストを指定します。 カメラ内の未処理の画像をすべて処理する場合は [“all”] を指定します。空にすることはできません。カメラで画像の処理で問題が発生した場合、カメラはエラーを返さず、その URL を無視して他の URL の処理を続行します。極端な場合は、previewToFinalFileUrls が空の JSONObject として返されます。

結果

  • previewToFinalFileUrls: JSON の <key, value=""> ペアの JSONObject。各キーはプレビュー画像の絶対 URL、各キーは最終処理後の対応する画像で、カメラから直接ダウンロードできます。このコマンドは camera.takePicture と類似しており、処理(カメラ内での合成を含む)が完了するまでに通常しばらく時間がかかるため(この段落で後述するコーナーケースを除き)、すぐに previewToFinalFileUrls を返しません。コマンドの進行状況は、/osc/commands/status API を使用して定期的にカメラをポーリングすることで取得されます。previewToFinalFileUrls は、コマンド終了時に返される結果です。コマンドが完了する前にカメラとの接続が失われた場合、クライアントは listFiles を使用して、カメラに再度接続したときに最終画像の URL を取得できます。または、別の processPicture コマンドを発行することもできます。このコマンドは、再接続前に画像がすでに処理されている場合はすぐに previewToFinalFileUrls を返します。</key,>

エラー

  • disabledCommand: 遅延処理をサポートしていない場合。
  • invalidParameterName: 入力パラメータ名を認識できません。
  • invalidParameterValue: 入力パラメータ名は認識されますが、値が無効です。たとえば、previewFileUrls の URL はすべて無効です。

コマンド I/O

コマンド入力
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
コマンド出力
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
コマンド出力(エラー)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}