camera.processPicture

Xử lý hình ảnh đã được chụp trước đó nhưng chưa được xử lý. Lệnh này chỉ phù hợp nếu bạn hỗ trợ delayProcessing vì quá trình này mất nhiều thời gian. Nếu bạn không hỗ trợ delayProcessing, yêu cầu cho lệnh này sẽ không thành công với mã lỗi disabledCommand. Lệnh này đã được thêm vào API cấp 2.

Các tham số

  • previewFileUrls: Danh sách URL của hình ảnh chưa được xử lý. Nếu bạn muốn xử lý tất cả hình ảnh chưa được xử lý trong máy ảnh, thì thuộc tính này là [“all”]. Không được để trống. Nếu gặp sự cố khi xử lý hình ảnh bất kỳ, máy ảnh sẽ không phản hồi lỗi mà sẽ bỏ qua URL đó và tiếp tục xử lý các hình ảnh khác. Trường hợp ngoại lệ có thể là previewToFinalFileUrls sẽ được trả về dưới dạng JSONObject trống.

Kết quả

  • previewToFinalFileUrls: Một JSONObject của các cặp JSON <key, value="">, trong đó mỗi khoá là URL tuyệt đối của hình ảnh xem trước và mỗi khoá là hình ảnh đã xử lý cuối cùng tương ứng và có thể dùng để tải xuống trực tiếp từ máy ảnh. Xin lưu ý rằng lệnh này tương tự như camera.takePicture và không trả về previewToFinalFileUrls ngay lập tức (ngoại trừ trường hợp góc được giải thích sau trong đoạn này) vì quá trình xử lý (bao gồm cả ghép ảnh trong máy ảnh) thường mất một chút thời gian (khác nhau từ vài giây đến vài phút) để hoàn tất. Tiến trình của lệnh có được bằng cách thăm dò máy ảnh định kỳ bằng API /osc/commands/statuspreviewToFinalFileUrls là kết quả được trả về khi lệnh kết thúc. Nếu mất kết nối với máy ảnh trước khi lệnh kết thúc, ứng dụng có thể sử dụng listFiles để lấy URL của hình ảnh cuối cùng khi được kết nối lại với máy ảnh hoặc đưa ra một lệnh processPicture khác. Lệnh này sẽ trả về previewToFinalFileUrls ngay lập tức nếu hình ảnh đã được xử lý trước khi kết nối lại.</key,>

Lỗi

  • disabledCommand: Nếu bạn không hỗ trợ quá trình xử lý độ trễ.
  • invalidParameterName: Không nhận dạng được tên tham số đầu vào.
  • invalidParameterValue: Tên tham số đầu vào được nhận dạng nhưng giá trị của tham số đó không hợp lệ. Ví dụ: mọi URL trong previewFileUrls đều không hợp lệ.

I/O lệnh

Nhập lệnh
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
Đầu ra của lệnh
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
Kết quả của lệnh (Lỗi)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}