camera.processPicture

Elabora le immagini che sono state acquisite in precedenza, ma non ancora elaborate. Questo comando è pertinente solo se supporti delayProcessing, poiché l'elaborazione richiede molto tempo. Se non supporti delayProcessing, la richiesta di questo comando dovrebbe avere esito negativo con il codice di errore disabledCommand. 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, viene selezionato ["all"]. Non può essere vuoto. Se la videocamera ha problemi a elaborare un'immagine, non risponde con un errore, ma dovrebbe ignorare l'URL e procedere con gli altri. Il caso estremo può essere previewToFinalFileUrls, che viene restituito come JSONObject vuoto.

Risultati

  • previewToFinalFileUrls: un oggetto JSONObject in coppie <key, value=""> JSON, in cui ogni chiave è l'URL assoluto dell'immagine di anteprima e ogni chiave è l'immagine finale elaborata corrispondente e può essere utilizzata per il download direttamente dalla fotocamera. Tieni presente che questo comando è simile a camera.takePicture e non restituisce previewToFinalFileUrls immediatamente, ad eccezione di una custodia angolare spiegata più avanti in questo paragrafo, poiché l'elaborazione (compresa l'unione nella fotocamera) di solito richiede un po' di tempo (varia da secondi a minuti). L'avanzamento del comando si ottiene eseguendo il polling periodico della videocamera utilizzando l'API /osc/commands/status e previewToFinalFileUrls è il risultato restituito al termine del comando. Se la connessione alla fotocamera si interrompe prima del termine del comando, il client può utilizzare listFiles per ottenere gli URL delle immagini finali quando si collega di nuovo alla fotocamera o emettere un altro comando processPicture, che dovrebbe restituire subito previewToFinalFileUrls se le immagini erano già state elaborate prima della riconnessione.</key,>

Errori

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

I/O comando

Input dei comandi
{
    "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."
    }
}