Как получить реальные расстояния с помощью камер с датчиком глубины в устройствах ios (iphone 11)

Я старался:

func grayPixelData() -> [Float32] {
  CVPixelBufferLockBaseAddress(self, CVPixelBufferLockFlags(rawValue: 0))
  let width = CVPixelBufferGetWidth(self)
  let height = CVPixelBufferGetHeight(self)
  var pixelData = [Float32](repeating: 0, count: Int(width * height))
  for yMap in 0 ..< height {
      let rowData = CVPixelBufferGetBaseAddress(self)! + yMap * CVPixelBufferGetBytesPerRow(self)
      let data = UnsafeMutableBufferPointer<Float>(start: rowData.assumingMemoryBound(to: Float.self), count: width)
      for index in 0 ..< width {
                //
          pixelData[index +  width * yMap] = Float32(data[index / 2])
      }
  }
  CVPixelBufferUnlockBaseAddress(self, CVPixelBufferLockFlags(rawValue: 0))
  return pixelData
}

после этого я получил некоторый массив, как показано ниже, Array

На что указывают значения массива глубины? дает ли прямое расстояние от камеры до объекта в метрах? Как мы можем получить реальные расстояния, используя этот массив?

0 ответов

Другие вопросы по тегам