camera.processPicture

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

Parameter

  • previewFileUrls:Eine Liste der URLs nicht verarbeiteter Bilder. Wenn Sie alle nicht verarbeiteten Bilder in der Kamera verarbeiten möchten, ist dies [„all“]. Das Feld darf nicht leer sein. Wenn die Kamera Probleme bei der Verarbeitung eines Bilds hat, gibt sie keinen Fehler aus. Stattdessen sollte sie diese URL ignorieren und mit anderen fortfahren. Im Extremfall kann previewToFinalFileUrls als leeres JSONObject zurückgegeben werden.

Ergebnisse

  • previewToFinalFileUrls:Ein JSONObject mit JSON-Paaren vom Typ <key, value="">, wobei jeder Schlüssel die absolute URL des Vorschaubilds ist und jeder Schlüssel das entsprechende endgültig verarbeitete Bild ist und zum direkten Download von der Kamera verwendet werden kann. Dieser Befehl ähnelt dem Befehl „camera.takePicture“ und gibt previewToFinalFileUrls nicht sofort zurück (mit Ausnahme eines Eckfalls, der weiter unten in diesem Abschnitt erläutert wird). Die Verarbeitung (einschließlich Stitching in der Kamera) dauert normalerweise eine Weile (variiert von Sekunden bis Minuten). Der Fortschritt des Befehls wird ermittelt, indem die Kamera regelmäßig über die /osc/commands/status API abgefragt wird. previewToFinalFileUrls ist das Ergebnis, das bei Abschluss des Befehls zurückgegeben wird. Wenn die Verbindung zur Kamera unterbrochen wird, bevor der Befehl beendet ist, kann der Client mit listFiles die URLs der endgültigen Bilder abrufen, wenn die Kamera wieder verbunden ist, oder einen anderen „processPicture“-Befehl ausgeben, der sofort previewToFinalFileUrls zurückgeben sollte, wenn die Bilder bereits vor dem erneuten Verbinden verarbeitet wurden.</key,>

Fehler

  • disabledCommand:Wenn Sie keine Verzögerungsverarbeitung unterstützen.
  • invalidParameterName: Der Name des Eingabeparameters wird nicht erkannt.
  • invalidParameterValue:Der Name des Eingabeparameters wird erkannt, aber sein Wert ist ungültig. Beispielsweise ist jede URL in previewFileUrls 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."
    }
}