camera.processPicture

Bilder verarbeiten, die zuvor aufgenommen, aber noch nicht verarbeitet wurden. Dieser Befehl ist nur relevant, wenn Sie delayProcessing unterstützen, da dauert die Verarbeitung lange. Wenn Sie delayProcessing nicht unterstützen, Die Anfrage für diesen Befehl sollte mit dem Fehlercode "disableCommand" fehlschlagen. Dieser Befehl wurde in API-Ebene 2 hinzugefügt.

Parameter

  • previewFileUrls:Eine Liste von URLs nicht verarbeiteter Bilder. Wenn Sie alle nicht verarbeiteten Bilder in der Kamera verarbeiten möchten, ist es [„all“]. Das Feld darf nicht leer sein. Wenn die Kamera Probleme bei der Bildverarbeitung hat, keine Fehlermeldung zurückgibt, sondern diese URL ignoriert wird. und im Extremfall previewToFinalFileUrls ist wird als leeres JSONObject zurückgegeben.

Ergebnisse

  • previewToFinalFileUrls:Ein JSONObject des JSON-Objekts <key, value=""> Paare, wobei jeder Schlüssel die absolute URL des Vorschaubilds ist, und jeder Schlüssel ist das entsprechende endgültig verarbeitete Bild und kann zum Herunterladen direkt von der Kamera. Dieser Befehl ähnelt dem Camera.takePicture und gibt previewToFinalFileUrls nicht zurück mit Ausnahme eines Grenzfalls, der weiter unten in diesem Absatz erläutert wird, Die Verarbeitung (einschließlich Stitching in der Kamera) dauert in der Regel eine Weile (variiert von Sekunden in Minuten). Der Fortschritt des Befehls wird abgerufen. indem Sie die Kamera regelmäßig mit der /osc/commands/status API abfragen und previewToFinalFileUrls ist das Ergebnis, das zurückgegeben wird, wenn der Befehl beendet. Wenn die Verbindung zur Kamera unterbrochen wird, bevor der Befehl ausgeführt wurde, kann der Client listFiles verwenden. um die URLs der endgültigen Bilder abzurufen, wenn die Kamera wieder angeschlossen wird, oder führen Sie einen weiteren processPicture-Befehl aus, der in der Regel previewToFinalFileUrls sofort, wenn die Bilder bereits vor der erneuten Verbindung verarbeitet.</key,>

Fehler

  • disableCommand:Wenn die verzögerte Verarbeitung nicht unterstützt wird.
  • invalidParameterName:Der Name des Eingabeparameters lautet nicht erkannt.
  • invalidParameterValue::Der Name des Eingabeparameters lautet erkannt, aber sein Wert ist ungültig; Zum Beispiel kann jede URL in previewFileUrls ist ungültig.

Befehls-E/A

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