camera.processPicture

이전에 캡처되었지만 아직 처리되지 않은 이미지를 처리합니다. 이 명령어는 처리에 시간이 오래 걸리므로 delayProcessing를 지원하는 경우에만 관련이 있습니다. delayProcessing를 지원하지 않는 경우 이 명령어에 대한 요청은 오류 코드 disabledCommand와 함께 실패해야 합니다. 이 명령어는 API 수준 2에 추가되었습니다.

매개변수

  • previewFileUrls: 처리되지 않은 이미지의 URL 목록입니다. 카메라에서 처리되지 않은 모든 이미지를 처리하려면 ['all']입니다. 비워 둘 수 없습니다. 카메라가 이미지를 처리하는 데 문제가 있으면 카메라는 오류로 응답하지 않습니다. 대신 해당 URL을 무시하고 다른 URL로 진행해야 합니다. 극단적인 경우에는 previewToFinalFileUrls가 빈 JSONObject로 반환될 수 있습니다.

결과

  • previewToFinalFileUrls: JSON <key, value=""> 쌍의 JSONObject입니다. 각 키는 미리보기 이미지의 절대 URL이고 각 키는 해당하는 최종 처리된 이미지이며 카메라에서 직접 다운로드하는 데 사용할 수 있습니다. 이 명령어는 camera.takePicture와 유사하며 previewToFinalFileUrls를 즉시 반환하지는 않습니다 (이 단락 후반부에 설명된 특수 사례 제외). 이는 일반적으로 처리 (카메라 내 병합 포함)가 완료되는 데 다소 시간이 걸리기 때문입니다 (몇 초에서 몇 분에 다름). /osc/commands/status API를 사용하여 카메라를 주기적으로 폴링하여 명령어 진행 상황을 가져오며 previewToFinalFileUrls은 명령어가 완료될 때 반환되는 결과입니다. 명령어가 완료되기 전에 카메라 연결이 끊어지면 클라이언트는 listFiles를 사용하여 카메라에 다시 연결되었을 때 최종 이미지의 URL을 가져오거나 다른 processPicture 명령어를 실행할 수 있습니다. 이 명령어는 재연결 전에 이미지가 이미 처리된 경우 즉시 previewToFinalFileUrls를 반환해야 합니다.</key,>

오류

  • DisabledCommand: 지연 처리를 지원하지 않는 경우
  • invalidParameterName: 입력 매개변수 이름을 인식할 수 없습니다.
  • invalidParameterValue: 입력 매개변수 이름은 인식할 수 있지만 값이 잘못되었습니다. 예를 들어 previewFileUrls의 모든 URL은 유효하지 않습니다.

명령어 I/O

명령어 입력
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
명령어 결과
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
명령어 출력 (오류)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}