camera.processPicture

Procesa imágenes que se capturaron anteriormente, pero aún no se procesaron. Este comando es relevante solo si admites delayProcessing, ya que el procesamiento tarda mucho. Si no admites delayProcessing, la solicitud de este comando debería fallar con el código de error inhabilitado. Este comando se agregó en el nivel de API 2.

Parámetros

  • previewFileUrls: Una lista de URLs de imágenes sin procesar. Si quieres procesar todas las imágenes sin procesar en la cámara, selecciona el valor ["all"]. El campo no puede estar vacío. Si la cámara tiene problemas para procesar cualquier imagen, no responde con un error. En cambio, debe ignorar esa URL y continuar con las demás. El caso extremo puede ser que previewToFinalFileUrls se muestre como un JSONObject vacío.

Resultados

  • previewToFinalFileUrls: Un JSONObject de pares <key, value=""> JSON en el que cada clave es la URL absoluta de la imagen de vista previa y cada clave es la imagen final procesada correspondiente y se puede usar para descargarla directamente desde la cámara. Ten en cuenta que este comando es similar a camera.takePicture y no muestra previewToFinalFileUrls de inmediato (salvo en el caso de un caso límite que se explica más adelante en este párrafo), ya que el procesamiento (incluida la unión dentro de la cámara) suele tardar un tiempo (puede variar de segundos a minutos) en completarse. Para obtener el progreso del comando, se sondea la cámara de forma periódica con la API de /osc/commands/status y previewToFinalFileUrls es el resultado que se muestra cuando finaliza el comando. Si se pierde la conexión a la cámara antes de que finalice el comando, el cliente puede usar listFiles para obtener las URLs de las imágenes finales cuando se vuelva a conectar a la cámara o emitir otro comando processPicture, que debería mostrar previewToFinalFileUrls de inmediato si las imágenes ya se procesaron antes de la reconexión.</key,>

Errores

  • disableCommand: No se admite el procesamiento retrasado.
  • invalidParameterName: No se reconoce el nombre del parámetro de entrada.
  • invalidParameterValue: Se reconoce el nombre del parámetro de entrada, pero su valor no es válido; por ejemplo, cualquier URL en previewFileUrls no es válida.

E/S de comando

Entrada del comando
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
Resultado del comando
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
Resultado del comando (error)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}