camera.processPicture

Elabora le immagini che sono state acquisite in precedenza, ma non ancora elaborate. Questo comando è pertinente solo se supporti delayProcessing da quando l'elaborazione richiede molto tempo. Se non supporti delayProcessing: la richiesta per questo comando non dovrebbe riuscire e restituisce il codice di errore disabilitateCommand. Questo comando è stato aggiunto nel livello API 2.

Parametri

  • previewFileUrls: un elenco di URL di immagini non elaborate. Se vuoi elaborare tutte le immagini non elaborate nella fotocamera, devi usare ["tutte"]. Non può essere vuoto. Se la fotocamera ha problemi a elaborare un'immagine, non risponde con un errore, deve invece ignorare l'URL e procedere con altri e il caso estremo può essere previewToFinalFileUrls è viene restituito come un JSONObject vuoto.

Risultati

  • previewToFinalFileUrls: un JSONObject in formato JSON <key, value=""> in cui ogni chiave corrisponde all'URL assoluto dell'immagine di anteprima, mentre ogni chiave corrisponde all'immagine elaborata finale e può essere utilizzata per scaricare direttamente dalla fotocamera. Questo comando è simile a camera.takePicture e non restituisce previewToFinalFileUrls immediatamente (ad eccezione di un caso d'angolo spiegato più avanti in questo paragrafo) l'elaborazione (compresa l'unione nella fotocamera) richiede in genere un po' di tempo (varia da secondi a minuti) per completare. L'avanzamento del comando eseguendo periodicamente il polling della videocamera utilizzando l'API /osc/commands/status e previewToFinalFileUrls è il risultato restituito quando il comando finiture in cui sono finite. Se la connessione alla videocamera viene persa prima del termine del comando, il client può utilizzare listFiles per ottenere gli URL delle immagini finali quando il dispositivo è nuovamente collegato alla videocamera oppure emettere un altro comando processPicture, che dovrebbe restituire previewToFinalFileUrls immediatamente se le immagini erano già elaborati prima della riconnessione.</key,>

Errori

  • disableCommand:se non supporti l'elaborazione ritardata.
  • invalidParameterName:il nome del parametro di input è non riconosciuto.
  • invalidParameterValue: il nome del parametro di input è riconosciuto, ma il relativo valore non è valido; ad esempio, qualsiasi URL previewFileUrls non è valido.

I/O comando

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