簡體   English   中英

AVDepthData可以返回8位以上的數據嗎?

[英]Can AVDepthData be returned with more than 8-bit data?

我正在使用iPhone X上的前置攝像頭來捕獲深度數據(使用IR真實深度攝像頭)。

我能夠很輕松地從拍攝的照片中提取depthData ,但是即使我相信我要求的是32位精度,該數據似乎也僅限於每個數據點8位值。 見下文:

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {    
    let depthData = photo.depthData

    if (depthData != nil) {
        print("got some depth data")

        let depthData = (depthData?.converting(toDepthDataType: kCVPixelFormatType_DepthFloat32))
    }
}

上面代碼段中的depthData對象僅包含8位值。 AVDepthData是否有更高的精度?

我沒有嘗試過,所以不確定是否可以從TrueDepth相機中獲得“更深”的深度格式。

如果你可以,但是,將召喚的捕獲的深度數據是不這樣做的方式。 depthData.converting(toDepthDataType:)類似於轉換標量類型。 例如,如果您具有Float類型的值,則通過將其轉換為Double所獲得的額外小數位數全為零-您現有的度量沒有獲得任何精度。

指定深度捕獲格式的方法是捕獲之前 設置您的捕捉設備的activeDepthDataFormat到的一個supportedDepthDataFormats其目前兼容activeFormat supportedDepthDataFormats找到的值將告訴您捕獲設備能夠記錄的深度數據的類型/精度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM