camera.processPicture

处理之前拍摄但尚未处理的图片。 此命令仅在您支持 delayProcessing 时才相关,因为处理需要很长时间。如果您不支持 delayProcessing,则此命令的请求应失败,并显示错误代码 invalidCommand。此命令是在 API 级别 2 中添加的。

参数

  • previewFileUrls:未处理图片的网址列表。如果您要在相机中处理所有未处理的图片,则是 [“all”]。 此字段不能为空。如果相机在处理任何图片时遇到问题,则相机不会返回错误响应,而应忽略该网址并继续使用其他网址,极端情况可能是 previewToFinalFileUrls 会以空 JSONObject 返回。

成果

  • previewToFinalFileUrls:JSON <key, value=""> 对的 JSONObject,其中每个键都是预览图片的绝对网址,每个键都是对应的最终处理后图片,可用于直接从相机下载。请注意,此命令与 camera.takePicture 类似,并且不会立即返回 previewToFinalFileUrls(本段落后面部分介绍的极端情况除外),因为处理过程(包括相机内拼接)通常需要一段时间(从几秒到几分钟)才能完成。您可以通过使用 /osc/commands/status API 定期轮询相机来获取命令的进度,当命令完成时,返回 previewToFinalFileUrls 的结果。如果与相机的连接在该命令完成之前断开,客户端可以在再次连接到相机时使用 listFiles 获取最终图像的网址,或者发出另一个 processPicture 命令,如果图像在重新连接前已处理完毕,该命令应立即返回 previewToFinalFileUrls。</key,>

错误数

  • disabledCommand:如果您不支持延迟处理。
  • invalidParameterName:输入参数名称无法识别。
  • invalidParameterValue:可识别输入参数名称,但其值无效;例如,previewFileUrls 中的任何网址无效。

命令 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."
    }
}